Share via


Crear un dispositivo (Direct3D 9)

Para crear un dispositivo Direct3D, primero cree un objeto Direct3D (consulte Direct3DCreate9). Todos los dispositivos de representación creados por un objeto Direct3D comparten los mismos recursos físicos. Si creas varios dispositivos de representación a partir de un único objeto Direct3D, se incurrirán en penalizaciones extremas de rendimiento porque comparten el mismo hardware.

En primer lugar, inicialice los valores de la estructura D3DPRESENT_PARAMETERS que se usa para crear el dispositivo Direct3D. En el ejemplo de código siguiente se especifica una aplicación con ventanas en la que el búfer de reserva se copia en el búfer frontal solo durante una operación de sincronización vertical.

LPDIRECT3DDEVICE9 d3dDevice = NULL;

D3DPRESENT_PARAMETERS d3dpp; 

ZeroMemory( &d3dpp, sizeof(d3dpp) );
d3dpp.Windowed   = TRUE;
d3dpp.SwapEffect = D3DSWAPEFFECT_COPY;

A continuación, cree el dispositivo Direct3D. La siguiente llamada IDirect3D9::CreateDevice especifica el adaptador predeterminado, un dispositivo de capa de abstracción de hardware (HAL) y el procesamiento de vértices de software.

if( FAILED( g_pD3D->CreateDevice( D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, hWnd,
                                    D3DCREATE_SOFTWARE_VERTEXPROCESSING,
                                    &d3dpp, &d3dDevice ) ) )
    return E_FAIL;

Tenga en cuenta que una llamada para crear, liberar o restablecer el dispositivo solo debe producirse en el mismo subproceso que el procedimiento de ventana de la ventana de enfoque.

Después de crear el dispositivo, establezca su estado.

Dispositivos Direct3D