Создание устройства (Direct3D 9)
Чтобы создать устройство Direct3D, сначала создайте объект Direct3D (см. раздел Direct3DCreate9). Все устройства отрисовки, созданные объектом Direct3D, используют одни и те же физические ресурсы. При создании нескольких устройств отрисовки из одного объекта Direct3D будет взиматься высокая производительность, так как они используют одно и то же оборудование.
Сначала инициализируйте значения для структуры D3DPRESENT_PARAMETERS , которая используется для создания устройства Direct3D. В следующем примере кода указывается оконное приложение, в котором задний буфер копируется в передний буфер только во время вертикальной операции синхронизации.
LPDIRECT3DDEVICE9 d3dDevice = NULL;
D3DPRESENT_PARAMETERS d3dpp;
ZeroMemory( &d3dpp, sizeof(d3dpp) );
d3dpp.Windowed = TRUE;
d3dpp.SwapEffect = D3DSWAPEFFECT_COPY;
Затем создайте устройство Direct3D. Следующий вызов IDirect3D9::CreateDevice указывает адаптер по умолчанию, устройство уровня абстракции оборудования (HAL) и программную обработку вершин.
if( FAILED( g_pD3D->CreateDevice( D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd,
D3DCREATE_SOFTWARE_VERTEXPROCESSING,
&d3dpp, &d3dDevice ) ) )
return E_FAIL;
Обратите внимание, что вызов для создания, освобождения или сброса устройства должен выполняться только в том же потоке, что и процедура окна фокуса.
После создания устройства задайте его состояние.
Связанные темы