Platform SDK: DirectX |
ここでは、Visual Basic でのアプリケーション開発について説明する。C++ については、「DirectDraw C/C++ チュートリアル」を参照すること。
DirectDraw デバイスの 3D 能力の取得は、このチュートリアルの前のステップとほぼ同様である。まず、Direct3D7 オブジェクトを DirectDraw7 オブジェクトから作成する。次に、Direct3D7.GetDevicesEnum メソッドを呼び出して Direct3DEnumDevices 列挙オブジェクトを作成し、情報を埋め込む。そして、列挙オブジェクトのメソッドを呼び出し、システムの Direct3D デバイスについての情報を取得する。
チュートリアル 5 のサンプルでは、Direct3DEnumDevices.GetDesc メソッドを Direct3D デバイスごとに呼び出して、能力を取得する。次に、D3DDEVICEDESC7 型で能力フラグをチェックすると、その結果がリスト ボックスで報告される。これは、以下の文で示される。
Set dd = m_dx.DirectDrawCreate(sGuid) Set d3d = dd.GetDirect3D() OutList.AddItem " D3D devices" Set d3denum = d3d.GetDevicesEnum() OutList.AddItem "" For i = 1 To d3denum.GetCount() d3denum.GetDesc i, hwDesc OutList.AddItem " Guid " + d3denum.GetGuid(i) OutList.AddItem " Description " + d3denum.GetDescription(i) OutList.AddItem " Name " + d3denum.GetName(i) OutList.AddItem " Device " With hwDesc OutList.AddItem " Max Texture Height " + Str(.lMaxTextureHeight) OutList.AddItem " Max Texture Width " + Str(.lMaxTextureWidth) If (.lDeviceRenderBitDepth And DDBD_8) Then OutList.AddItem " Supports rendering to 8 bit" End If If (.lDeviceZBufferBitDepth And DDBD_8) Then OutList.AddItem " Supports 8 bit z buffer" End If If (.lDevCaps And D3DDEVCAPS_TEXTURENONLOCALVIDMEM) Then OutList.AddItem " Supports AGP textures" End If End With