微軟D3D是通過COM對象和接口來實(shí)現(xiàn)的。C++編寫的程序可以直接訪問這些接口和對象,然而VB程序需要通過一個(gè)中間層代碼---可視化的VB類—這些類在運(yùn)行時(shí)為DirectX整合來自VB的數(shù)據(jù)。
D3D對象是你程序創(chuàng)建的第一個(gè)對象,也是你最后一個(gè)釋放的對象。D3D設(shè)備的枚舉和返回性能函數(shù)需要通過D3D對象來訪問,這使程序可以不用創(chuàng)建設(shè)備而選擇他們。
當(dāng)一個(gè)D3D程序以C++的方式開始編寫的,它必須獲得一個(gè)IDirect3D9接口指針來訪問D3D的功能。
下面的代碼顯示了怎么樣使用Direct3DCreate9函數(shù)來得到一個(gè)指向D3D接口的指針。
LPDIRECT3D9 g_pD3D = NULL;
if( NULL == (g_pD3D = Direct3DCreate9(D3D_SDK_VERSION)))
return E_FAIL;
為了從Direct3DDevice對象導(dǎo)航到創(chuàng)建設(shè)置的D3D對象,使用IDirectDDevice9::GetDirect3D方法。