在Direct3D应用程序里,最先创建的对象是Direct3D对象,最后删除的对象也是Direct3D对象。那么Direct3D对象是用来作什么的呢?是怎么样创建的呢?
由于Direct3D对象是用COM实现,所以要用到Direct3D对象,就要先初始化COM库,然后创建Direct3D的COM对象。如果在C++时创建Direct3D对象如下:
LPDIRECT3D9 g_pD3D = NULL;
if( NULL == (g_pD3D = Direct3DCreate9(D3D_SDK_VERSION)))
return E_FAIL;
D3D_SDK_VERSION参数是用来确定用那个版本SDK头文件来编译。创建Direct3D对象后,就可以通过来枚举设备和检查设备的兼容性。就可以进一步去创建显示设备对象,对特定的设备选择合适的显示模式,特别硬件加速的编程。