次の方法で共有


D3DHAL_D3DEXTENDEDCAPS構造体 (d3dhal.h)

D3DHAL_D3DEXTENDEDCAPSでは、ドライバーの追加の 3D 機能について説明します。

構文

typedef struct _D3DHAL_D3DEXTENDEDCAPS {
  DWORD    dwSize;
  DWORD    dwMinTextureWidth;
  DWORD    dwMaxTextureWidth;
  DWORD    dwMinTextureHeight;
  DWORD    dwMaxTextureHeight;
  DWORD    dwMinStippleWidth;
  DWORD    dwMaxStippleWidth;
  DWORD    dwMinStippleHeight;
  DWORD    dwMaxStippleHeight;
  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;
  WORD     wMaxUserClipPlanes;
  WORD     wMaxVertexBlendMatrices;
  DWORD    dwVertexProcessingCaps;
  DWORD    dwReserved1;
  DWORD    dwReserved2;
  DWORD    dwReserved3;
  DWORD    dwReserved4;
} D3DHAL_D3DEXTENDEDCAPS;

メンバーズ

dwSize

このD3DHAL_D3DEXTENDEDCAPS構造体のサイズをバイト単位で指定します。

dwMinTextureWidth

ドライバーまたはデバイスでサポートされる最小テクスチャ幅をピクセル単位で指定します。 このメンバーは通常、2 の累乗です。 これらのメンバーはアプリケーションへのヒントとして提供され、必要に応じてテクスチャ サイズを調整するのはアプリケーションの責任です。

dwMaxTextureWidth

ドライバーまたはデバイスでサポートされるテクスチャの最大幅をピクセル単位で指定します。 このメンバーは通常、2 の累乗です。 これらのメンバーはアプリケーションへのヒントとして提供され、必要に応じてテクスチャ サイズを調整するのはアプリケーションの責任です。

dwMinTextureHeight

ドライバーでサポートされる最小テクスチャの高さをピクセル単位で指定します。 このメンバーは通常、2 の累乗です。

dwMaxTextureHeight

ドライバーでサポートされるテクスチャの最大高さをピクセル単位で指定します。 このメンバーは通常、2 の累乗です。

dwMinStippleWidth

ドライバーでサポートされている最小のチップ幅をピクセル単位で指定します。

dwMaxStippleWidth

ドライバーでサポートされるヒントの最大幅をピクセル単位で指定します。

dwMinStippleHeight

ドライバーでサポートされている最小のチップの高さをピクセル単位で指定します。

dwMaxStippleHeight

ドライバーでサポートされている、チップの最大高さをピクセル単位で指定します。

dwMaxTextureRepeat

正規化後のテクスチャ インデックスの整数 (サブアクション) ビットの全範囲を指定します。 D3DDEVCAPS_TEXREPEATNOTSCALEDBYSIZE ビットが設定されている場合、テクスチャをラップできる回数がこのメンバーによって指定されます。 D3DDEVCAPS_TEXREPEATNOTSCALEDBYSIZE ビットが設定されていない場合、テクスチャをラップできる時間の数は、式 (dwMaxTextureRepeat * (テクスチャ サイズ) によって与えられます。

dwMaxTextureAspectRatio

ハードウェアでサポートされる最大テクスチャ縦横比を指定します。 このメンバーは通常、2 の累乗です。 この最大縦横比は、テクスチャの高さをピクセル単位でピクセル単位で割った値、または幅を高さで割った値のいずれか大きい方の値として提供されます。 たとえば、最大縦横比 4092 のみをサポートするディスプレイ デバイスでは、幅が 8192 ピクセル、高さが 1 ピクセル、幅が 8192 x 8192 のテクスチャは無効です。 ハードウェアの縦横比が制限されていない場合、dwMaxTextureAspectRatio は、dwMaxTextureWidth と dwMaxTextureHeight 大きくなります。

dwMaxAnisotropy

D3DRENDERSTATE_ANISOTROPYレンダリング状態の有効な最大値を指定します。 ドライバーのハードウェアが異方性フィルター処理をサポートしていない場合、ドライバーは、このメンバーを 1 に設定する必要があります。 このメンバーを 0 に設定すると、無効な値が表されます。

dvGuardBandLeft

dvGuardBandTop

dvGuardBandRight

dvGuardBandBottom

ガードバンド クリップ領域の画面空間座標をピクセル単位で指定します。 この四角形の左上隅には座標 (dvGuardBandLeftdvGuardBandTop ) があります。 左下隅には座標 (dvGuardBandRightdvGuardBandBottom ) があります。 この四角形内の座標は、ビューポートの四角形の外側に自動的にクリップされます。

dvExtentsAdjust

アンチエイリアシング カーネルに対応するために、エクステントの四角形を外側に調整するために必要なピクセル数を指定します。

dwStencilCaps

ドライバーまたはデバイスでサポートされるステンシル バッファー操作を指定します。 次の表に示すステンシル バッファー操作の詳細については、DirectX SDK ドキュメントのD3DSTENCILOPを参照してください。 ステンシル操作は、3 つのステンシル バッファー操作のレンダリング状態 (D3DRENDERSTATE_STENCILFAIL、D3DRENDERSTATE_STENCILPASS、D3DRENDERSTATE_STENCILZFAIL) すべてに対して有効であると見なされます。 このメンバーには、次のいずれかの値のビットごとの OR を指定できます。

価値 ステンシル バッファー操作
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

ドライバーが処理できるテクスチャ座標の数を指定します。 この値は 0 ~ 8 の範囲の整数で指定できます。0 はドライバーがテクスチャリングをサポートしていないことを示し、1 はドライバーが 1 セットのテクスチャ座標のみを処理できることを示し、2 はドライバーが 2 セットのテクスチャ座標を処理できることを示します。

ドライバーは、ドライバーが実際に使用するテクスチャ座標の数に関係なく、頂点データに存在するすべてのテクスチャ座標を解析できる必要があります。 ドライバーは、DirectX SDK のドキュメントで説明されているD3DTEXTURESTAGESTATETYPE列挙体のD3DTSS_TEXCOORDINDEX値で提供されるインデックスを使用して、レンダリング時に使用するテクスチャ座標セットを決定する必要があります。

dwTextureOpCaps

デバイスでサポートされるテクスチャ操作を指定します。 次の表に示すテクスチャ操作の説明については、DirectX SDK ドキュメントのD3DTEXTUREOPを参照してください。 このメンバーには、次の値のビットごとの OR を指定できます。

価値 テクスチャ操作のサポート
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_MODULATEALPHA_ADDCOLOR テクスチャ ブレンド操作がサポートされています。
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

このデバイスのテクスチャ ブレンド ステージに同時にバインドできるテクスチャの最大数を指定します。 つまり、wMaxSimultaneousTextures では、lDirect3DDevice7::SetTexture メソッドを使用してテクスチャ ステージをバインドできるテクスチャ ステージの数を指定します。 この方法の詳細については、Microsoft Windows SDK のドキュメントを参照してください。

dwMaxActiveLights

このデバイスでサポートされているアクティブライトの最大数を指定します。 これは、ハードウェアの変換と照明をサポートするドライバーでのみ指定する必要があります (したがって、デバイスキャップでD3DDEVCAPS_HWTRANSFORMANDLIGHTを指定します)。

dvMaxVertexW

このデバイスでサポートされる最大 W 範囲を指定します。 これは、W バッファリングをサポートするドライバーでのみ指定する必要があります (したがって、ラスタライズ キャップでD3DPRASTERCAPS_WBUFFERを指定します)。 W 深度値の単位は、実行中のアプリケーションによって異なります。 たとえば、アプリケーションで深度をメートル単位で指定できます。

wMaxUserClipPlanes

サポートされるユーザー定義クリップ プレーンの最大数を指定します。

wMaxVertexBlendMatrices

頂点ブレンドでサポートされるワールド マトリックスの数を指定します。

dwVertexProcessingCaps

ドライバーでサポートされている頂点処理キャップを指定します。 このメンバーには、次の値のビットごとの OR を指定できます。

価値 意味
D3DVTXPCAPS_DIRECTIONALLIGHTS デバイスは方向ライトを実行できます。
D3DVTXPCAPS_LOCALVIEWER デバイスはローカル ビューアーを実行できます。
D3DVTXPCAPS_MATERIALSOURCE7 デバイスでは、DirectX 7.0 のカラー マテリアル ソース操作を実行できます。
D3DVTXPCAPS_NO_TEXGEN_NONLOCALVIEWER デバイスは、非ローカル ビューアー モードでのテクスチャ生成をサポートしていません。
D3DVTXPCAPS_POSITIONALLIGHTS デバイスは位置指定ライト (ポイントとスポットを含む) を実行できます。
D3DVTXPCAPS_TEXGEN デバイスは texgen を実行できます。
D3DVTXPCAPS_TEXGEN_SPHEREMAP デバイスはD3DTSS_TCI_SPHEREMAPをサポートしています。
D3DVTXPCAPS_TWEENING デバイスは頂点のツイーニングを実行できます。

dwReserved1

システム用に予約されています。

dwReserved2

システム用に予約されています。

dwReserved3

システム用に予約されています。

dwReserved4

システム用に予約されています。

備考

ドライバーは、この構造体を割り当てて 0 を初期化し、サポートするメンバーに適切な値を設定します。 ドライバーの DdGetDriverInfo 関数は、その関数がGUID_D3DExtendedCaps GUID を使用して呼び出されたときに、この構造体へのポインターを返します。

ドライバーがこの構造体を埋めるとき、機能の取得に使用されているインターフェイス (lDirect3DDevice3など) が実行バッファーをサポートしていない場合でも、実行バッファー機能の値を設定できます。

必要条件

要件 価値
ヘッダー d3dhal.h (D3dhal.h を含む)

関連項目

DdGetDriverInfo