Membuat Perangkat (Direct3D 9)

Untuk membuat perangkat Direct3D, pertama-tama buat objek Direct3D (lihat Direct3DCreate9). Semua perangkat penyajian yang dibuat oleh objek Direct3D memiliki sumber daya fisik yang sama. Jika Anda membuat beberapa perangkat penyajian dari satu objek Direct3D, penalti performa ekstrem akan dikeluarkan karena mereka berbagi perangkat keras yang sama.

Pertama, inisialisasi nilai untuk struktur D3DPRESENT_PARAMETERS yang digunakan untuk membuat perangkat Direct3D. Contoh kode berikut menentukan aplikasi berjendela di mana buffer belakang disalin ke buffer depan selama operasi sinkronisasi vertikal saja.

LPDIRECT3DDEVICE9 d3dDevice = NULL;

D3DPRESENT_PARAMETERS d3dpp; 

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

Selanjutnya, buat perangkat Direct3D. Panggilan IDirect3D9::CreateDevice berikut menentukan adaptor default, perangkat lapisan abstraksi perangkat keras (HAL), dan pemrosesan verteks perangkat lunak.

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

Perhatikan bahwa panggilan untuk membuat, merilis, atau mengatur ulang perangkat hanya boleh terjadi pada utas yang sama dengan prosedur jendela jendela jendela fokus.

Setelah membuat perangkat, atur statusnya.

Perangkat Direct3D