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

Это практически все, что нужно сделать, чтобы Direct3D заработал. Вызов функции IDirect3D9: : CreateDevice () в программе будет, вероятно, выглядеть примерно так:

// Создаем устройство if ( FAILED( g_pD3D->

CreateDevice( D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL,

G_hMainWindow,

D 3DCREATE_HARDWARE_VERTEXPR0CE S SING,

&d3dpp, &g_pDevice ) ) )

{

return E_FAIL;

}

Этот вызов создает устройство, соответствующее адаптеру по умолчанию, использующее аппаратуру для выполнения растеризации, основное окно для вывода, выполняющее аппаратную обработку вершин и структуру d3dpp, которую мы только что рассмотрели. Функция IDirect3D9: : CreateDevice () поместит указатель на устройство в параметр g_pDevice.

Подсказка

Аппаратная обработка вершин намного быстрее программной, но некоторые (довольно старые) видеокарты ее не поддерживают. Если у вас из-за этого возникают проблемы, замените флаг d3dcreate_hardware_ VERTEXPROCESSING на D3DCREATE SOFTWARE VERTEXPROCESSING.

ОСВОБОЖДЕНИЕ РЕСУРСОВ

Вот и все! Direct3D официально инициализирован! С этого момента мы готовы начать моделировать и рисовать. Важно не забывать, что перед завершением выполнения программы нужно освободить интерфейсы в последовательности, обратной последовательности их инициализации. Сначала мы получили интерфейс IDirect3D9 в указателе g_pD3D, а затем — интерфейс IDirect3DDevice9 в указателе g_j?Device. Освобождаются они в обратном порядке с помощью метода Release ():

int Shutdown(void)

{

// Освобождаем указатель на IDirect3DDevice9. if ( g_pDevice )

{

g_pDeviee->Release(); g_pDevice = 0;

}

// Освобождаем указатель ва IDirect3D9.

Новости
Вышел новый тизер Project Melies от разработчиков Layers of Fear
Bloober Team и Gun Media представили новый тизер хоррора Project Melies, посвящённого немому кино.
В популярной игре спрятали кошелек с деньгами
Как написал Криси в своем блоге на Hackernoon, пароль от кошелька был разделен на две части и спрятан на две разные планеты виртуальной вселенной No Man’s Sky.