Конгер Д.
Физика для разработчиков компьютерных игр
стр. 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.

Новости
Косплей Сенуя из Hellblade: Senua’s Sacrifice
Редакция Геймбокса не могла не поделиться с вами прекрасным отечественным косплеем на Сенуя из Hellblade: Senua's Sacrifice.
Bethesda подала в суд на Warner Bros. за Westworld
Как утверждает издание TMZ, компания Bethesda Softworks подала в суд на кинокомпанию Warner Bros. и студию Behaviour Interactive.