Конгер Д.
Физика для разработчиков компьютерных игр
стр. 32

Это не слишком сложно. Нужно просто прорисовывать первыми самые дальние объекты, а затем прорисовывать более близкие. Это хорошо получается, если рисовать на неактивной видеостранице и переключать видеостраницы, закончив рисовать, но если рисовать на активной видеостранице, то иногда объекты заднего плана могут оказываться нарисованными поверх объектов переднего плана.

СОЗДАНИЕ УСТРОЙСТВА

Теперь мы готовы использовать интерфейс IDirect3D9, чтобы создать еще один объект - устройство (device). Объект Direct3D был довольно абстрактен, но устройство - это гораздо более конкретная вещь, соответствующая аппаратному устройству: видеокарте. Все рисование, которое вы хотите выполнять с помощью этой графической карты, будет выполняться через создаваемый сейчас интерфейс. Если вы захотите использовать вторую видеокарту (это делают немногие игры), вам понадобится второе устройство.

Чтобы создать устройство, нужно следовать той же процедуре, что и при создании других объектов. Сначала нужно объявить указатель на интерфейс IDirect3DDevice9. Часто этот указатель делают глобальным, чтобы к нему можно было обращаться из любой точки программы, в частности, из функции GameLoop (), в которой будет выполняться рендеринг:

LPDIRECT3DDEVICE9 g_pDevice = NULL; // Наше устройство

рендеринга

Устройство создается с помощью метода IDirect3D9: :CreateDe-vice(). Этот метод использует довольно много параметров, как видно из прототипа:

HRESULT CreateDevice(

UINT Adapter,

D3DDEVTYPE DeviceType,

HWND hFocusWindow,

DWORD BehaviorFlags,

D3DPRESENT_PARAMETERS *pPresentationParameters, IDirect3DDevice9** ppReturnedDevicelnterface

) ;

В первом параметре этой функции — Adapter - указывается адаптер, которому будет соответствовать создаваемое устройство. В большинстве случаев этому параметру предается значение D3DADAPTER_DEFAULT.

В параметре DeviceType указывается, будет ли использоваться для растеризации и расчета освещения аппаратное устройство или программа. Три возможных варианта перечислены в таблице 2.2. Растеризация (rasterization) - это процесс преобразования геометрических фигур, например, линий и поверхностей, в пиксели, которые можно отобразить на экране.

Новости
В PUBG вышла новая карта «Санок»
Bluehole не один месяц тестировала третью карту для PUBG, и сегодня тропическая миниатюрная карта «Санок» наконец-то вышла на общих серверах.
В Warface добавили режим «Королевская битва 2.0»
В Warface разработчики добавили режим «Королевская битва 2.0». Старая версия доработана, количество игроков увеличено с 16 до 32.