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
ガードバンド クリップ領域の画面空間座標をピクセル単位で指定します。 この四角形の左上隅には座標 (dvGuardBandLeft、 dvGuardBandTop) があります。 左下隅には座標 (dvGuardBandRight、 dvGuardBandBottom) があります。 この四角形内の座標が、ビューポートの四角形の外側に自動的にクリップされます。
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
システムで使用するために予約されています。
注釈
ドライバーは、この構造体を割り当ててゼロ初期化し、サポートするメンバーに適切な値を設定します。 ドライバーの DdGetDriverInfo 関数は、その関数がGUID_D3DExtendedCaps GUID で呼び出されると、この構造体へのポインターを返します。
ドライバーがこの構造体を入力すると、機能の取得に使用されているインターフェイス ( lDirect3DDevice3 など) が実行バッファーをサポートしていない場合でも、実行バッファー機能の値を設定できます。
要件
要件 | 値 |
---|---|
Header | d3dhal.h (D3dhal.h を含む) |