D3DDEVICEDESC7
D3DDEVICEDESC7 構造体には、現在のデバイスの情報が含まれる。この構造体は、IDirect3DDevice7::GetCaps などのメソッドで現在のデバイスを問い合わせるために使用される。
この構造体は IDirect3DDevice3 より新しいすべてのデバイス インターフェイスで D3DDEVICEDESC 構造体に代わって使用される。
typedef struct _D3DDeviceDesc7 {
DWORD dwDevCaps;
D3DPRIMCAPS dpcLineCaps;
D3DPRIMCAPS dpcTriCaps;
DWORD dwDeviceRenderBitDepth;
DWORD dwDeviceZBufferBitDepth;
DWORD dwMinTextureWidth, dwMinTextureHeight;
DWORD dwMaxTextureWidth, dwMaxTextureHeight;
DWORD dwMaxTextureRepeat;
DWORD dwMaxTextureAspectRatio;
DWORD dwMaxAnisotropy;
D3DVALUE dvGuardBandLeft;
D3DVALUE dvGuardBandTop;
D3DVALUE dvGuardBandRight;
D3DVALUE dvGuardBandBottom;
D3DVALUE dvExtentsAdjust;
DWORD dwStencilCaps;
DWORD dwFVFCaps;
DWORD dwTextureOpCaps;
WORD wMaxTextureBlendStages;
WORD wMaxSimultaneousTextures;
DWORD dwMaxActiveLights;
D3DVALUE dvMaxVertexW;
GUID deviceGUID;
WORD wMaxUserClipPlanes;
WORD wMaxVertexBlendMatrices;
DWORD dwVertexProcessingCaps;
DWORD dwReserved1;
DWORD dwReserved2;
DWORD dwReserved3;
DWORD dwReserved4;
} D3DDEVICEDESC7, *LPD3DDEVICEDESC7;
メンバ
- dwDevCaps
- デバイスの能力を識別するフラグ。
- D3DDEVCAPS_CANBLTSYSTONONLOCAL
- デバイスは、システムメモリ テクスチャから非ローカル ビデオメモリ テクスチャへのブリットをサポートする。
このフラグは DirectX 7.0 で導入された。
- D3DDEVCAPS_CANRENDERAFTERFLIP
- デバイスはページ フリップの後で、レンダリング コマンドを待つこともできる。このフラグはアプリケーション動作を変えるものではない。単にデバイスが比較的高速であることを示すものである。
このフラグは DirectX 5.0 で導入された。
- D3DDEVCAPS_DRAWPRIMTLVERTEX
- デバイスは、DrawPrimitive 対応ハードウェア アブストラクション レイヤ (HAL) をエクスポートする。
このフラグは DirectX 5.0 で導入された。
- D3DDEVCAPS_EXECUTESYSTEMMEMORY
- デバイスは、システム メモリから実行バッファを使用できる。
- D3DDEVCAPS_EXECUTEVIDEOMEMORY
- デバイスは、ビデオ メモリから実行バッファを使用できる。
- D3DDEVCAPS_FLOATTLVERTEX
- トランスフォーム後の頂点データを浮動小数点で取得。
- D3DDEVCAPS_HWRASTERIZATION
- デバイスには、シーンのラスタ化用のハードウェア アクセラレーションがある。
- D3DDEVCAPS_HWTRANSFORMANDLIGHT
- デバイスは、ハードウェアでトランスフォーム & ライティングをサポートする。
このフラグは DirectX 7.0 で導入された。
- D3DDEVCAPS_SEPARATETEXTUREMEMORIES
- デバイスは、ステージごとに別々のテクスチャ メモリ プールを使用する。テクスチャはその生成時に、DDSURFACEDESC2 構造体の dwTextureStage メンバを適切なステージ識別子に設定することにより、明示的にテクスチャ ステージに割り当てなければならない。
- D3DDEVCAPS_SORTDECREASINGZ
- 深度の減少方向にソートされたデータが必要。
- D3DDEVCAPS_SORTEXACT
- 精密にソートされたデータが必要。
- D3DDEVCAPS_SORTINCREASINGZ
- 深度の増加方向にソートされたデータが必要。
- D3DDEVCAPS_TEXTURENONLOCALVIDMEM
- デバイスは、非ローカル ビデオ (AGP) メモリからテクスチャを取得できる。
このフラグは DirectX 5.0 で導入された。AGP メモリの詳細については、DirectDraw ドキュメントの「非ローカル ビデオ メモリ サーフェスの使用」を参照すること。
- D3DDEVCAPS_TEXTURESYSTEMMEMORY
- システム メモリからテクスチャを取得可能。
- D3DDEVCAPS_TEXTUREVIDEOMEMORY
- デバイス メモリからテクスチャを取得可能。
- D3DDEVCAPS_TLVERTEXSYSTEMMEMORY
- トランスフォーム済みライティング済みの頂点用に、システム メモリをバッファに使用可能。
- D3DDEVCAPS_TLVERTEXVIDEOMEMORY
- トランスフォーム済みライティング済みの頂点用に、ビデオ メモリをバッファに使用可能。
- dpcLineCaps および dpcTriCaps
- 線の描画や三角形プリミティブのデバイスのサポート情報を定義する D3DPRIMCAPS 構造体。
- dwDeviceRenderBitDepth
- デバイスのレンダリング ビット深度。このメンバには、DirectDraw ビット深度定数 DDBD_8、DDBD_16、DDBD_24、または DDBD_32 のいずれかまたは複数を指定できる。
- dwDeviceZBufferBitDepth
- デバイスの深度バッファのビット深度。このメンバには、DirectDraw ビット深度定数 DDBD_8、DDBD_16、DDBD_24、または DDBD_32 のいずれかまたは複数を指定できる。
- dwMinTextureWidth、dwMinTextureHeight
- このデバイスのテクスチャの最小の幅と高さ。
- dwMaxTextureWidth、dwMaxTextureHeight
- このデバイスのテクスチャの最大の幅と高さ。
- dwMaxTextureRepeat
- 正規化した後のテクスチャ インデックスの整数ビットの全範囲。D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE ビットが設定されている場合、デバイスは、テクスチャ アドレッシング モードが適用されるまでテクスチャ サイズによるスケーリングを行わない。これが設定されていない場合は、デバイスはテクスチャ サイズ (最大詳細レベル) によるテクスチャ インデックスのスケーリングを実行してから補間を行う。
- dwMaxTextureAspectRatio
- ハードウェアによってサポートされる、テクスチャの最大アスペクト比。通常は 2 の累乗。
- dwMaxAnisotropy
- D3DTSS_MAXANISOTROPY テクスチャステージ ステートの最大有効値。
- dvGuardBandLeft、dvGuardBandTop、dvGuardBandRight および dvGuardBandBottom
- ガードバンド クリッピング領域の画面空間座標。この矩形内かつビューポート矩形の外側にある座標は自動的にクリッピングされる。
- dvExtentsAdjust
- 矩形の外辺をアンチエイリアス カーネルに適合させるためのピクセル数。
- dwStencilCaps
- サポートされているステンシル バッファ操作を指定するフラグ。ステンシル操作は 3 種類のステンシル バッファ操作レンダリング ステート (D3DRENDERSTATE_STENCILFAIL、D3DRENDERSTATE_STENCILPASS、D3DRENDERSTATE_STENCILFAILZFAIL) に対しては、すべて有効であると見なされる。
- D3DSTENCILCAPS_DECR
- D3DSTENCILOP_DECR 処理をサポートする。
- D3DSTENCILCAPS_DECRSAT
- D3DSTENCILOP_DECRSAT 処理をサポートする。
- D3DSTENCILCAPS_INCR
- D3DSTENCILOP_INCR 処理をサポートする。
- D3DSTENCILCAPS_INCRSAT
- D3DSTENCILOP_INCRSAT 処理をサポートする。
- D3DSTENCILCAPS_INVERT
- D3DSTENCILOP_INVERT 処理をサポートする。
- D3DSTENCILCAPS_KEEP
- D3DSTENCILOP_KEEP 処理をサポートする。
- D3DSTENCILCAPS_REPLACE
- D3DSTENCILOP_REPLACE 処理をサポートする。
- D3DSTENCILCAPS_ZERO
- D3DSTENCILOP_ZERO 処理をサポートする。
- dwFVFCaps
- 柔軟な頂点フォーマット能力
- D3DFVFCAPS_DONOTSTRIPELEMENTS
- 頂点要素は削除しない方がよい。つまり、頂点フォーマットが現在のレンダリング ステートで使用されない要素を含んでいても、頂点を再度生成する必要はない。この能力フラグが指定されていない場合、頂点フォーマットから不要な要素を削除すると、パフォーマンスが向上する。
- D3DFVFCAPS_TEXCOORDCOUNTMASK
- dwFVFCaps の下位 WORD をマスクする。このビットは、WORD データ型にキャストされ、デバイスが複数のテクスチャ ブレンディングに同時に使用できるテクスチャ座標セットの総数を示す(どの頂点に対しても最大 8 つのテクスチャ座標セットを使用できるが、デバイスでは指定された個数のテクスチャ座標セットのみブレンディングする)。
- dwTextureOpCaps
- このデバイスがサポートするテクスチャ操作を記述するフラグの組み合わせ。次のフラグが定義される。
- D3DTEXOPCAPS_ADD
- D3DTOP_ADD テクスチャブレンディング処理がサポートされる。
- D3DTEXOPCAPS_ADDSIGNED
- D3DTOP_ADDSIGNED テクスチャブレンディング処理がサポートされる。
- D3DTEXOPCAPS_ADDSIGNED2X
- D3DTOP_ADDSIGNED2X テクスチャブレンディング処理がサポートされる。
- D3DTEXOPCAPS_ADDSMOOTH
- D3DTOP_ADDSMOOTH テクスチャブレンディング処理がサポートされる。
- D3DTEXOPCAPS_BLENDCURRENTALPHA
- D3DTOP_BLENDCURRENTALPHA テクスチャブレンディング処理がサポートされる。
- D3DTEXOPCAPS_BLENDDIFFUSEALPHA
- D3DTOP_BLENDDIFFUSEALPHA テクスチャブレンディング処理がサポートされる。
- D3DTEXOPCAPS_BLENDFACTORALPHA
- D3DTOP_BLENDFACTORALPHA テクスチャブレンディング処理がサポートされる。
- D3DTEXOPCAPS_BLENDTEXTUREALPHA
- D3DTOP_BLENDTEXTUREALPHA テクスチャブレンディング処理がサポートされる。
- D3DTEXOPCAPS_BLENDTEXTUREALPHAPM
- D3DTOP_BLENDTEXTUREALPHAPM テクスチャブレンディング処理がサポートされる。
- D3DTEXOPCAPS_BUMPENVMAP
- D3DTOP_BUMPENVMAP テクスチャブレンディング処理がサポートされる。
- D3DTEXOPCAPS_BUMPENVMAPLUMINANCE
- D3DTOP_BUMPENVMAPLUMINANCE テクスチャブレンディング処理がサポートされる。
- D3DTEXOPCAPS_DISABLE
- D3DTOP_DISABLE テクスチャブレンディング処理がサポートされる。
- D3DTEXOPCAPS_DOTPRODUCT3
- D3DTOP_DOTPRODUCT3 テクスチャブレンディング処理がサポートされる。
- D3DTEXOPCAPS_MODULATE
- D3DTOP_MODULATE テクスチャブレンディング処理がサポートされる。
- D3DTEXOPCAPS_MODULATE2X
- D3DTOP_MODULATE2X テクスチャブレンディング処理がサポートされる。
- D3DTEXOPCAPS_MODULATE4X
- D3DTOP_MODULATE4X テクスチャブレンディング処理がサポートされる。
- D3DTEXOPCAPS_MODULATEALPHA_ADDCOLOR
- D3DTOP_MODULATEALPHA_ADDCOLOR テクスチャブレンディング処理がサポートされる。
- D3DTEXOPCAPS_MODULATECOLOR_ADDALPHA
- D3DTOP_MODULATECOLOR_ADDALPHA テクスチャブレンディング処理がサポートされる。
- D3DTEXOPCAPS_MODULATEINVALPHA_ADDCOLOR
- D3DTOP_MODULATEINVALPHA_ADDCOLOR テクスチャブレンディング処理がサポートされる。
- D3DTEXOPCAPS_MODULATEINVCOLOR_ADDALPHA
- D3DTOP_MODULATEINVCOLOR_ADDALPHA テクスチャブレンディング処理がサポートされる。
- D3DTEXOPCAPS_PREMODULATE
- D3DTOP_PREMODULATE テクスチャブレンディング処理がサポートされる。
- D3DTEXOPCAPS_SELECTARG1
- D3DTOP_SELECTARG1 テクスチャブレンディング処理がサポートされる。
- D3DTEXOPCAPS_SELECTARG2
- D3DTOP_SELECTARG2 テクスチャブレンディング処理がサポートされる。
- D3DTEXOPCAPS_SUBTRACT
- D3DTOP_SUBTRACT テクスチャブレンディング処理がサポートされる。
- wMaxTextureBlendStages
- サポートされるテクスチャブレンディング ステージの最大数。
- wMaxSimultaneousTextures
- テクスチャ ブレンディング ステージに同時にバインドできるテクスチャの最大数。「注意」を参照すること。
- dwMaxActiveLights
- 同時にアクティブにできるライトの最大数。
- dvMaxVertexW
- デバイスがサポートする最大 W ベース深度値。
- deviceGUID
- デバイスのグローバル ユニーク識別子 (GUI)。IID_IDirect3DHALDevice、IID_IDirect3DTnLHalDevice、または IID_IDirect3DRGBDevice のいずれか。
- wMaxUserClipPlanes
- サポートされるユーザー定義クリップ面の最大数。このメンバは 0 から D3DMAXUSERCLIPPLANES までの範囲になる。
ユーザー定義クリップ面の操作には、IDirect3DDevice7::GetClipPlane および IDirect3DDevice7::SetClipPlane メソッドを使用する。
- wMaxVertexBlendMatrices
- 複数の行列による頂点ブレンディングを実行する際にデバイスが適用する配列の最大数。
- dwVertexProcessingCaps
- 頂点の処理能力。
- D3DVTXPCAPS_TEXGEN
- デバイスはテクスチャ座標を生成できる。
- D3DVTXPCAPS_MATERIALSOURCE7
- デバイスは選択可能な頂点色ソースをサポートする。詳細については、「ライトの色の種類とソース」を参照すること。
- D3DVTXPCAPS_VERTEXFOG
- デバイスは頂点フォグをサポートする。
- D3DVTXPCAPS_DIRECTIONALLIGHTS
- デバイスはディレクショナル ライトをサポートする。
- D3DVTXPCAPS_POSITIONALLIGHTS
- デバイスは局部ライト (ポイント ライト、スポット ライトなど) をサポートする。
- D3DVTXPCAPS_LOCALVIEWER
- デバイスはローカル ビューアをサポートする。
- dwReserved1 から dwReserved4
- 予約済み。
注意
wMaxTextureBlendStages および wMaxSimultaneousTextures メンバは類似しているように思えるが、互いに異なる情報を含んでいる。wMaxTextureBlendStages メンバは、現在のデバイスでサポートされるテクスチャブレンディング ステージの総数を示す。wMaxSimultaneousTextures メンバは、IDirect3DDevice7::SetTexture メソッドによってこれらのステージのうち何個のステージでテクスチャをバインドできるかを示す。
ドライバでは、この構造体に値を設定すると、能力の取得に使用するインターフェイス (IDirect3DDevice7 など) が実行バッファをサポートしていなくても、実行バッファ能力の値を設定できる。
Windows NT/2000 :Windows 2000 が必要。
Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
バージョン :DirectX 7.0 が必要。
ヘッダー : d3dcaps.h で宣言。
参照
D3DPRIMCAPS