Создание устройства (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;
Обратите внимание, что вызов создания, освобождения или сброса устройства должен выполняться только в том потоке, который используется процедурой окна окна с фокусом.
После создания устройства задайте его состояние.
Связанные разделы