Microsoft® Direct3D®是通过组件对象模型(COM)对象和接口实现的。C++应用程序可以直接访问这些接口和对象,而Microsoft
Visual Basic®应用程序则与一层被称为Microsoft DirectX® for Visual Basic Classes的代码进行交互,它们为Visual
Basic应用程序组织数据并传送给DirectX运行库(run time)。
Direct3D对象是应用程序第一个创建并最后一个释放的对象。可以通过Direct3D对象访问一些函数,用它们枚举并取得Direct3D设备的能力,这允许应用程序选择设备而无需创建它们。
当一个C++应用程序启动时,它必须取得一个指向IDirect3D9接口的指针以使用Direct3D的功能。
以下示例代码显示了如何用Direct3DCreate9函数取得一个指向Direct3D接口的指针。
LPDIRECT3D9 g_pD3D = NULL;
if( NULL == (g_pD3D = Direct3DCreate9(D3D_SDK_VERSION)))
return E_FAIL;
要从Direct3DDevice对象取得创建它的Direct3D对象,可以用IDirect3DDevice9::GetDirect3D方法。