D3DCAPS9 構造体 (d3d9caps.h)
Direct3D オブジェクトを介して公開されるハードウェアの機能を表します。
構文
typedef struct _D3DCAPS9 {
D3DDEVTYPE DeviceType;
UINT AdapterOrdinal;
DWORD Caps;
DWORD Caps2;
DWORD Caps3;
DWORD PresentationIntervals;
DWORD CursorCaps;
DWORD DevCaps;
DWORD PrimitiveMiscCaps;
DWORD RasterCaps;
DWORD ZCmpCaps;
DWORD SrcBlendCaps;
DWORD DestBlendCaps;
DWORD AlphaCmpCaps;
DWORD ShadeCaps;
DWORD TextureCaps;
DWORD TextureFilterCaps;
DWORD CubeTextureFilterCaps;
DWORD VolumeTextureFilterCaps;
DWORD TextureAddressCaps;
DWORD VolumeTextureAddressCaps;
DWORD LineCaps;
DWORD MaxTextureWidth;
DWORD MaxTextureHeight;
DWORD MaxVolumeExtent;
DWORD MaxTextureRepeat;
DWORD MaxTextureAspectRatio;
DWORD MaxAnisotropy;
float MaxVertexW;
float GuardBandLeft;
float GuardBandTop;
float GuardBandRight;
float GuardBandBottom;
float ExtentsAdjust;
DWORD StencilCaps;
DWORD FVFCaps;
DWORD TextureOpCaps;
DWORD MaxTextureBlendStages;
DWORD MaxSimultaneousTextures;
DWORD VertexProcessingCaps;
DWORD MaxActiveLights;
DWORD MaxUserClipPlanes;
DWORD MaxVertexBlendMatrices;
DWORD MaxVertexBlendMatrixIndex;
float MaxPointSize;
DWORD MaxPrimitiveCount;
DWORD MaxVertexIndex;
DWORD MaxStreams;
DWORD MaxStreamStride;
DWORD VertexShaderVersion;
DWORD MaxVertexShaderConst;
DWORD PixelShaderVersion;
float PixelShader1xMaxValue;
DWORD DevCaps2;
float MaxNpatchTessellationLevel;
DWORD Reserved5;
UINT MasterAdapterOrdinal;
UINT AdapterOrdinalInGroup;
UINT NumberOfAdaptersInGroup;
DWORD DeclTypes;
DWORD NumSimultaneousRTs;
DWORD StretchRectFilterCaps;
D3DVSHADERCAPS2_0 VS20Caps;
D3DPSHADERCAPS2_0 PS20Caps;
DWORD VertexTextureFilterCaps;
DWORD MaxVShaderInstructionsExecuted;
DWORD MaxPShaderInstructionsExecuted;
DWORD MaxVertexShader30InstructionSlots;
DWORD MaxPixelShader30InstructionSlots;
} D3DCAPS9;
メンバー
DeviceType
型: D3DDEVTYPE
頂点の処理に使用されるリソースの種類を識別する D3DDEVTYPE 列挙型のメンバー。
AdapterOrdinal
型: UINT
この Direct3D デバイスが作成されたアダプター。 この序数は、この Direct3D デバイスを作成した IDirect3D9 インターフェイスのメソッドに渡す場合にのみ有効です。 IDirect3D9 インターフェイスは、GetDirect3D を呼び出すことでいつでも取得できます。
Caps
種類: DWORD
次のドライバー固有の機能。
値 | 意味 | |
---|---|---|
|
ディスプレイ ハードウェアは、現在のスキャン行を返すことができます。 | |
|
ディスプレイ ドライバーは、オーバーレイ機能の検証を可能にするオーバーレイ DDI をサポートしています。 オーバーレイ DDI の詳細については、「 オーバーレイ DDI」を参照してください。
|
Caps2
種類: DWORD
D3DCAPS2 で識別されるドライバー固有の機能。
Caps3
種類: DWORD
D3DCAPS3 で識別されるドライバー固有の機能。
PresentationIntervals
種類: DWORD
使用可能なプレゼンテーション スワップ間隔を表す値のビット マスク。
CursorCaps
種類: DWORD
カーソルで使用できるハードウェア サポートを示すビット マスク。 Direct3D 9 では、アルファ ブレンド カーソル機能は定義されていません。
DevCaps
種類: DWORD
デバイスの機能を識別するフラグ。
値 | 意味 |
---|---|
|
デバイスでは、システム メモリ テクスチャからローカル以外のビデオ メモリ テクスチャへの blit がサポートされています。 |
|
デバイスは、ページ フリップ後にレンダリング コマンドをキューに登録できます。 このフラグが設定されている場合、アプリケーションは動作を変更しません。この機能は、デバイスが比較的高速であることを意味します。 |
|
デバイスは、少なくとも DirectX 5 準拠ドライバーをサポートできます。 |
|
デバイスは、少なくとも DirectX 7 準拠ドライバーをサポートできます。 |
|
デバイスは IDirect3DDevice9::D rawPrimitive 対応 hal をエクスポートします。 |
|
デバイスでは、システム メモリから実行バッファーを使用できます。 |
|
デバイスでは、ビデオ メモリからの実行バッファーを使用できます。 |
|
デバイスには、シーンのラスター化のためのハードウェア アクセラレーションがあります。 |
|
デバイスは、ハードウェアでの変換と照明をサポートできます。 |
|
デバイスでは N 個のパッチがサポートされています。 |
|
デバイスでは、ハードウェアでのラスター化、変換、照明、およびシェーディングをサポートできます。 |
|
デバイスでは、クインティック ベジエ曲線と B スプラインがサポートされています。 |
|
デバイスでは、四角形と三角形のパッチがサポートされています。 |
|
このデバイス機能が設定されている場合、ハードウェア アーキテクチャは情報のキャッシュを必要とせず、キャッシュされていないパッチ (ハンドル 0) はキャッシュされたパッチと同じくらい効率的に描画されます。 D3DDEVCAPS_RTPATCHHANDLEZEROを設定しても、ハンドルが 0 のパッチを描画できるわけではありません。 ハンドルゼロパッチは、このキャップが設定されているかどうかに関係なく、常に描画できます。 |
|
デバイスが個別のメモリ プールからテクスチャリングされています。 |
|
デバイスは、ローカル以外のビデオ メモリからテクスチャを取得できます。 |
|
デバイスは、システム メモリからテクスチャを取得できます。 |
|
デバイスは、デバイス メモリからテクスチャを取得できます。 |
|
デバイスは、変換された頂点と点灯した頂点にシステム メモリからのバッファーを使用できます。 |
|
デバイスでは、変換された頂点と点灯した頂点にビデオ メモリのバッファーを使用できます。 |
PrimitiveMiscCaps
型: DWORD
その他のドライバー プリミティブ機能。 「D3DPMISCCAPS」を参照してください。
RasterCaps
型: DWORD
ラスター描画機能に関する情報。 このメンバーには、次のフラグの 1 つ以上を指定できます。
値 | 意味 |
---|---|
|
デバイスは異方性フィルタリングをサポートしています。 |
|
デバイスは、色のパースペクティブを正しく反復処理します。 |
|
デバイスはディザリングして色の解像度を向上させることができます。 |
|
デバイスでは、レガシ深度バイアスがサポートされています。 真の深度バイアスについては、「D3DPRASTERCAPS_SLOPESCALEDEPTHBIAS」を参照してください。 |
|
デバイスでは、範囲ベースの霧がサポートされています。 範囲ベースの霧では、ビューアーからのオブジェクトの距離は、シーン内のオブジェクトの深さ (つまり z 座標) ではなく、霧の効果を計算するために使用されます。 |
|
デバイスは、特定のピクセルの深さにインデックスが付けられた霧の値を含むルックアップ テーブルを参照して、霧の値を計算します。 |
|
デバイスは、照明操作中に霧の値を計算し、ラスタライズ中に霧の値を補間します。 |
|
デバイスでは、詳細レベルのバイアス調整がサポートされています。 これらのバイアス調整を使用すると、アプリケーションでミップマップを通常よりも鮮明に表示したり、シャープに表示したりできます。 ミップマップの詳細レベルバイアスの詳細については、「D3DSAMP_MIPMAPLODBIAS」を参照してください。 |
|
デバイスでは、IDirect3DDevice9::BeginScene と IDirect3DDevice9::EndScene の間でマルチサンプリングのオンとオフの切り替えがサポートされています (D3DRS_MULTISAMPLEANTIALIASを使用)。 |
|
デバイスは、ハサミテストをサポートしています。 「シザー テスト (Direct3D 9)」を参照してください。 |
|
デバイスは、真の傾きスケールベースの深さのバイアスを実行します。 これは、従来のスタイルの深さのバイアスとは対照的です。 |
|
デバイスでは、w を使用した深度バッファリングがサポートされています。 |
|
デバイスでは、w ベースの霧がサポートされています。 W ベースの霧は、パースペクティブ プロジェクション マトリックスが指定されている場合に使用されますが、アフィン プロジェクションでは Z ベースの霧が引き続き使用されます。 システムは、[3][4] 要素に 0 以外の値を含む射影行列をパースペクティブ投影行列と見なします。 |
|
デバイスは、アプリケーションでポリゴンを並べ替える必要がなく、深度バッファーの割り当てを必要とせずに、非表示サーフェス除去 (HSR) を実行できます。 これにより、テクスチャのビデオ メモリが増えます。 HSR の実行に使用されるメソッドは、ハードウェアに依存し、アプリケーションに対して透過的です。
Z バッファーレス HSR は、深度バッファー サーフェスがレンダリング ターゲット サーフェスに関連付けられていない場合に、深度バッファー比較テストが有効になっている場合 (つまり、 D3DRS_ZENABLE 列挙定数に関連付けられている状態値が TRUE に設定されている場合) に実行されます。 |
|
デバイスでは、z ベースの霧がサポートされています。 |
|
デバイスは z テスト操作を実行できます。 これにより、プリミティブが効果的にレンダリングされ、z ピクセルがレンダリングされたかどうかを示します。 |
ZCmpCaps
型: DWORD
Z バッファー比較機能。 このメンバーには、次のフラグの 1 つ以上を指定できます。
SrcBlendCaps
型: DWORD
ソース ブレンド機能。 このメンバーには、次のフラグの 1 つ以上を指定できます。 (ソースと変換先の RGBA 値は、添字 s と d で示されます)。
値 | 意味 | |
---|---|---|
|
ドライバーは、D3DBLEND_BLENDFACTORとD3DBLEND_INVBLENDFACTORの両方をサポートしています。 D3DBLEND を参照してください。 | |
|
ソース ブレンド係数は (1 - As、1 - As、1 - As、1 - As) で、宛先ブレンド係数は (As、As、As、As)、ターゲット ブレンドの選択がオーバーライドされます。 | |
|
ドライバーは、D3DBLEND_BOTHSRCALPHA ブレンド モードをサポートしています。 (このブレンド モードは廃止されました。詳細については、「D3DBLEND」を参照してください)。 | |
|
ブレンド係数は、(A d、Ad、Ad、Ad) です。 | |
|
ブレンド係数は(Rd、Gd、Bd、Ad)である。 | |
|
ブレンド係数は (1 - Ad、1 - Ad、1 - Ad、1 - Ad) です。 | |
|
ブレンド係数は (1 -R d、 1 - Gd、1 - Bd、1 - Ad) です。 | |
|
ブレンド係数は (1 - As、1 - As、1 - As、1 - As) です。 | |
|
ブレンド係数は (1 - Rs、1 - Gs、1 - Bs、1 - As) です。 | |
|
ブレンド係数は (1 - PSOutColor[1]r, 1 - PSOutColor[1]g, 1 - PSOutColor[1]b, not used)) です。 「 レンダー ターゲット ブレンド」を参照してください。
|
|
|
ブレンド係数は (1, 1, 1, 1) です。 | |
|
ブレンド係数は (As、As、As、As) です。 | |
|
ブレンド係数は (f, f, f, 1);f = min(As, 1 - Ad). | |
|
ブレンド係数は (Rs、Gs、Bs、As) です。 | |
|
ブレンド係数は (PSOutColor[1]r, PSOutColor[1]g, PSOutColor[1]b, not used) です。 「 レンダー ターゲット ブレンド」を参照してください。
|
|
|
ブレンド係数は (0, 0, 0, 0) です。 |
DestBlendCaps
型: DWORD
変換先ブレンド機能。 このメンバーには、SrcBlendCaps メンバーに対して定義されているのと同じ機能を使用できます。
AlphaCmpCaps
型: DWORD
アルファ テストの比較機能。 このメンバーには、ZCmpCaps メンバーに対して定義されているのと同じ機能フラグを含めることができます。 このメンバーにD3DPCMPCAPS_ALWAYS機能のみが含まれている場合、またはD3DPCMPCAPS_NEVER機能のみが含まれている場合、ドライバーはアルファ テストをサポートしません。 それ以外の場合、フラグはアルファ テストでサポートされている個々の比較を識別します。
ShadeCaps
型: DWORD
シェーディング操作の機能。 一般に、デバイスが特定のコマンドをまったくサポートしている場合は、( D3DSHADEMODE 列挙型で指定されている) D3DSHADE_FLAT モードをサポートしていると想定されます。 このフラグは、ドライバーが Gouraud シェーディングもサポートできるかどうか、およびアルファ 色コンポーネントがサポートされているかどうかを指定します。 アルファ 成分がサポートされていない場合、生成される色のアルファ値は暗黙的に 255 になります。 これは、可能な最大アルファ (つまり、アルファ 成分が完全な強度) です。
三角形の色、反射ハイライト、霧、アルファの各相互運用には、アプリケーションがデバイス ドライバーによって実装される方法を調べるのに使用できる機能フラグがあります。
このメンバーには、次のフラグの 1 つ以上を指定できます。
TextureCaps
型: DWORD
その他のテクスチャ マッピング機能。 このメンバーには、次のフラグの 1 つ以上を指定できます。
値 | 意味 |
---|---|
|
テクスチャ ピクセルのアルファがサポートされています。 |
|
デバイスはテクスチャ パレットからアルファを描画できます。 |
|
キューブ テクスチャをサポートします。 |
|
デバイスでは、キューブ テクスチャ マップに 2 の累乗として指定されたディメンションが必要です。 |
|
デバイスでは、mipmapped キューブ テクスチャがサポートされています。 |
|
デバイスでは、mipmapped テクスチャがサポートされています。 |
|
デバイスでは、mipmapped ボリューム テクスチャがサポートされています。 |
|
D3DPTEXTURECAPS_POW2も設定され、条件付きで 2 の累乗ではないディメンションを持つ 2D テクスチャの使用をサポートします。 次のすべての要件が満たされている場合、この機能を公開するデバイスは、このようなテクスチャを使用できます。
このフラグが設定されておらず、D3DPTEXTURECAPS_POW2も設定されていない場合、2 の累乗ではないディメンションを持つ 2D テクスチャに対して無条件のサポートが提供されます。 シェーダー計算 (ピクセル シェーダー バージョン 1_0 から 1_3 の bem - ps および texm3x3 - ps 命令など) に基づいて読み取られる段階で、2 の累乗ではないテクスチャを設定することはできません。 たとえば、これらのテクスチャを使用してテクスチャ読み取りにフィードされるバンプを格納できますが、 texbem - ps、 texbeml - ps、 texm3x3spec - ps で使用される環境マップは格納できません。 つまり、2 の累乗ではないディメンションを持つテクスチャは、シェーダー内で計算されたテクスチャ座標を使用して対処またはサンプリングすることはできません。 この種類の操作は依存読み取りと呼ばれ、これらの種類のテクスチャでは実行できません。 |
|
デバイスは、プログラミング可能な関数シェーダーと固定関数シェーダーで投影されたバンプ環境参照操作をサポートしていません。 |
|
透視投影補正テクスチャリングがサポートされています。 |
|
D3DPTEXTURECAPS_NONPOW2CONDITIONALが設定されていない場合、すべてのテクスチャの幅と高さが 2 の累乗として指定されている必要があります。 この要件は、キューブ テクスチャまたはボリューム テクスチャには適用されません。
D3DPTEXTURECAPS_NONPOW2CONDITIONALも設定されている場合は、2 の累乗ではないディメンションを持つ 2D テクスチャの使用が条件付きでサポートされます。 詳細については、「D3DPTEXTURECAPS_NONPOW2CONDITIONAL説明」を参照してください。 このフラグが設定されておらず、D3DPTEXTURECAPS_NONPOW2CONDITIONALも設定されていない場合、2 の累乗ではないディメンションを持つ 2D テクスチャに対して無条件のサポートが提供されます。 |
|
D3DTTFF_PROJECTED テクスチャ変換フラグをサポートします。 適用すると、デバイスは変換されたテクスチャ座標を最後のテクスチャ座標で除算します。 この機能が存在する場合、投影分割はピクセルごとに発生します。 この機能が存在しないが、射投影分割が発生する必要がある場合は、Direct3D ランタイムによって頂点ごとに実行されます。 |
|
すべてのテクスチャは正方形である必要があります。 |
|
テクスチャ インデックスは、補間前のテクスチャ サイズによってスケーリングされません。 |
|
デバイスでは、ボリューム テクスチャがサポートされています。 |
|
デバイスでは、ボリューム テクスチャ マップに 2 の累乗として指定されたディメンションが必要です。 |
TextureFilterCaps
型: DWORD
テクスチャのテクスチャ フィルター機能。 ステージごとのフィルター機能は、マルチテクスチャ ブレンドを実行するときにテクスチャ ステージでサポートされているフィルターモードを反映します。 このメンバーには、 D3DPTFILTERCAPS で定義されているステージごとのテクスチャ フィルター フラグを任意に組み合わせて使用できます。
CubeTextureFilterCaps
型: DWORD
キューブ テクスチャのテクスチャ フィルター機能。 ステージごとのフィルター機能は、マルチテクスチャ ブレンドを実行するときにテクスチャ ステージでサポートされているフィルターモードを反映します。 このメンバーには、 D3DPTFILTERCAPS で定義されているステージごとのテクスチャ フィルター フラグを任意に組み合わせて使用できます。
VolumeTextureFilterCaps
型: DWORD
ボリューム テクスチャのテクスチャ フィルター機能。 ステージごとのフィルター機能は、マルチテクスチャ ブレンドを実行するときにテクスチャ ステージでサポートされているフィルターモードを反映します。 このメンバーには、 D3DPTFILTERCAPS で定義されているステージごとのテクスチャ フィルター フラグを任意に組み合わせて使用できます。
TextureAddressCaps
型: DWORD
テクスチャ オブジェクトのテクスチャ アドレス指定機能。 このメンバーには、次のフラグの 1 つ以上を指定できます。
VolumeTextureAddressCaps
型: DWORD
ボリューム テクスチャのテクスチャ アドレス指定機能。 このメンバーには、TextureAddressCaps メンバーに対して定義されているフラグを 1 つ以上指定できます。
LineCaps
型: DWORD
線描画プリミティブの機能を定義します。
MaxTextureWidth
型: DWORD
このデバイスの最大テクスチャ幅。
MaxTextureHeight
型: DWORD
このデバイスの最大テクスチャの高さ。
MaxVolumeExtent
型: DWORD
ボリューム テクスチャの 3 つのディメンション (幅、高さ、奥行き) の最大値。
MaxTextureRepeat
型: DWORD
この数値は、正規化後テクスチャ座標の整数ビットの最大範囲を表します。 テクスチャ座標は、整数部分を格納するために 27 ビットを使用し、浮動小数点分数に対して 5 ビットを使用して 32 ビット符号付き整数として格納されます。 最大整数インデックス 2²⁷ は、ハードウェアによるテクスチャ座標のスケーリング方法に応じて、最大テクスチャ座標を決定するために使用されます。
一部のハードウェアでは、上限D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZEが報告されます。 この場合、デバイスはテクスチャ アドレス モードの補間と適用後までテクスチャ サイズによるテクスチャ座標のスケーリングを延期するため、テクスチャをラップできる回数は MaxTextureRepeat の整数値によって指定されます。
望ましくないのは、一部のハードウェアD3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZEが設定されておらず、デバイスは補間の前にテクスチャのサイズ (最も高い詳細レベルを使用) でテクスチャ座標をスケーリングします。 これにより、テクスチャを MaxTextureRepeat/テクスチャ サイズにラップできる回数が制限されます。
たとえば、MaxTextureRepeat が 32k で、テクスチャのサイズが 4k であるとします。 ハードウェアがD3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE設定した場合、テクスチャをラップできる回数は、この例では 32k の MaxTextureRepeat と等しくなります。 それ以外の場合、テクスチャをラップできる回数は、MaxTextureRepeat をテクスチャ サイズ (この例では 32k/4k) で割った回数になります。
MaxTextureAspectRatio
型: DWORD
ハードウェアでサポートされる最大テクスチャ縦横比 (通常は 2 の累乗)。
MaxAnisotropy
型: DWORD
D3DSAMP_MAXANISOTROPYテクスチャ ステージ状態の最大有効値。
MaxVertexW
型: float
デバイスがサポートする W ベースの深さの最大値。
GuardBandLeft
型: float
ガードバンドクリッピング領域の画面空間座標。 この四角形内の座標が、ビューポートの四角形の外側に自動的にクリップされます。
GuardBandTop
型: float
ガードバンドクリッピング領域の画面空間座標。 この四角形内の座標が、ビューポートの四角形の外側に自動的にクリップされます。
GuardBandRight
型: float
ガードバンドクリッピング領域の画面空間座標。 この四角形内の座標が、ビューポートの四角形の外側に自動的にクリップされます。
GuardBandBottom
型: float
ガードバンドクリッピング領域の画面空間座標。 この四角形内の座標が、ビューポートの四角形の外側に自動的にクリップされます。
ExtentsAdjust
型: float
アンチエイリアシング カーネルに対応するように四角形の外側にエクステントを調整するピクセル数。
StencilCaps
型: DWORD
サポートされているステンシル バッファー操作を指定するフラグ。 ステンシル操作は、3 つのステンシル バッファー操作のレンダリング状態 (D3DRS_STENCILFAIL、D3DRS_STENCILPASS、D3DRS_STENCILZFAIL) すべてに対して有効であると見なされます。
詳細については、「 D3DSTENCILCAPS」を参照してください。
FVFCaps
型: DWORD
柔軟な頂点形式機能。
TextureOpCaps
種類: DWORD
このデバイスでサポートされるテクスチャ操作を記述するフラグの組み合わせ。 次のフラグが定義されています。
MaxTextureBlendStages
種類: DWORD
固定関数パイプラインでサポートされるテクスチャ ブレンド ステージの最大数。 この値は、使用可能なブレンダーの数です。 プログラム可能なピクセル パイプラインでは、ピクセル シェーダー命令で使用される一意のテクスチャ レジスタの数に対応します。
MaxSimultaneousTextures
種類: DWORD
固定関数パイプライン サンプラー ステージに同時にバインドできるテクスチャの最大数。 同じテクスチャが 2 つのサンプラー ステージにバインドされている場合、2 つのテクスチャとしてカウントされます。
この値は、サンプラーステージの数が各ピクセルシェーダーバージョンによって決定されるプログラミング可能なパイプラインでは意味がありません。 各ピクセル シェーダーのバージョンによって、テクスチャ宣言命令の数も決定されます。 「ピクセル シェーダー」を参照してください。
VertexProcessingCaps
種類: DWORD
頂点処理機能。 特定の物理デバイスの場合、この機能は 、CreateDevice に指定されたパラメーターに応じて Direct3D デバイスによって異なる場合があります。 「D3DVTXPCAPS」を参照してください。
MaxActiveLights
種類: DWORD
同時にアクティブにできるライトの最大数。 特定の物理デバイスの場合、この機能は 、CreateDevice に指定されたパラメーターに応じて Direct3D デバイスによって異なる場合があります。
MaxUserClipPlanes
種類: DWORD
サポートされているユーザー定義クリッピング プレーンの最大数。 このメンバーは 0 にすることができます。 特定の物理デバイスの場合、この機能は 、CreateDevice に指定されたパラメーターに応じて Direct3D デバイスによって異なる場合があります。
MaxVertexBlendMatrices
種類: DWORD
マルチマトリックス頂点ブレンドを実行するときにこのデバイスが適用できるマトリックスの最大数。 特定の物理デバイスの場合、この機能は 、CreateDevice に指定されたパラメーターに応じて Direct3D デバイスによって異なる場合があります。
MaxVertexBlendMatrixIndex
種類: DWORD
頂点ごとのインデックスを使用してインデックスを作成できる最大マトリックス インデックスを指定する DWORD 値。 行列の数は MaxVertexBlendMatrixIndex + 1 です。これはマトリックス パレットのサイズです。 照明用にブレンドする必要がある頂点データに法線が存在する場合、行列の数は、この機能フラグで指定された数の半分になります。 MaxVertexBlendMatrixIndex が 0 に設定されている場合、ドライバーはインデックス付き頂点ブレンドをサポートしません。 この値が 0 でない場合、インデックスの有効な範囲は MaxVertexBlendMatrixIndex を通じて 0 になります。
MaxVertexBlendMatrixIndex の 0 の値は、ドライバーがインデックス付きマトリックスをサポートしていないことを示します。
ソフトウェア頂点処理を使用する場合、通常のブレンドの有無にかかわらず、インデックス付き頂点ブレンドに 256 個のマトリックスを使用できます。
特定の物理デバイスの場合、この機能は 、CreateDevice に指定されたパラメーターに応じて Direct3D デバイスによって異なる場合があります。
MaxPointSize
型: float
ポイント プリミティブの最大サイズ。 1.0f に設定すると、デバイスはポイント サイズの制御をサポートしません。 範囲が 1.0f 以上です。
MaxPrimitiveCount
型: DWORD
各 DrawPrimitive 呼び出しのプリミティブの最大数。 次の 2 つのケースがあります。
- MaxPrimitiveCount が0xffffと等しくない場合は、各描画呼び出しで最大 MaxPrimitiveCount プリミティブを描画できます。
- ただし、MaxPrimitiveCount が0xffffに等しい場合でも、最大 MaxPrimitiveCount プリミティブを描画できますが、MaxPrimitiveCount 固有の頂点を使用する場合もあります (各プリミティブで 3 つの異なる頂点を使用できる可能性があるため)。
MaxVertexIndex
型: DWORD
ハードウェア頂点処理でサポートされるインデックスの最大サイズ。 32 ビット インデックス バッファーを作成できます。ただし、この値が 0x0000FFFF より大きい場合を除き、インデックス バッファーを使用してレンダリングすることはできません。
MaxStreams
型: DWORD
SetStreamSource の同時実行データ ストリームの最大数。 有効な範囲は 1 ~ 16 です。 この値が 0 の場合、ドライバーは Direct3D 9 ドライバーではないことに注意してください。
MaxStreamStride
型: DWORD
SetStreamSource の最大ストライド。
VertexShaderVersion
型: DWORD
頂点シェーダー メインとサブ バージョンを表す 2 つの数値。 頂点シェーダーの各バージョンでサポートされる手順の詳細については、「 バージョン 1_x、 バージョン 2_0、バージョン 2_0拡張、または バージョン 3_0」を参照してください。
MaxVertexShaderConst
型: DWORD
定数用に予約されている頂点シェーダー 頂点シェーダー レジスタ の数。
PixelShaderVersion
型: DWORD
ピクセル シェーダー メインとサブ バージョンを表す 2 つの数値。 ピクセル シェーダーの各バージョンでサポートされる手順の詳細については、「 バージョン 1_x、 バージョン 2_0、バージョン 2_0拡張、または バージョン 3_0」を参照してください。
PixelShader1xMaxValue
型: float
ピクセル シェーダー算術コンポーネントの最大値。 この値は、ピクセル カラー ブレンド操作でサポートされる値の内部範囲を示します。 報告対象の範囲内で、実装では、データが変更されていない (非clamped) ピクセル処理を通過できるようにする必要があります。 通常、このメンバーの値は絶対値です。 たとえば、1.0 は範囲が -1.0 から 1 であることを示し、8.0 は範囲が -8.0 から 8.0 であることを示します。 ピクセル シェーダーを >サポートするハードウェアの場合、値は = 1.0 である必要があります。
DevCaps2
型: DWORD
アダプティブ テセレーションのデバイス ドライバー機能。 詳細については、「D3DDEVCAPS2」を参照してください。
MaxNpatchTessellationLevel
TBD
Reserved5
TBD
MasterAdapterOrdinal
型: UINT
この数値は、この下位のマスターであるデバイスを示します。 この数値は、アダプターの値と同じ領域から取得されます。
マルチヘッド サポートの場合、1 つのヘッドにはマスター ヘッドが示され、同じカード上の他のすべてのヘッドは下位ヘッドとして示されます。 システムに複数のマルチヘッド アダプターが存在する場合、1 つのマルチヘッド アダプターのマスターとその下位はグループと呼ばれます。
AdapterOrdinalInGroup
型: UINT
この数値は、API によってヘッドが参照される順序を示します。 マスター アダプターの値は常に 0 です。 これらの値は、アダプターの序数に対応していません。 これらは、グループ内のヘッドにのみ適用されます。
NumberOfAdaptersInGroup
型: UINT
このアダプター グループ内のアダプターの数 (マスターの場合のみ)。 これは、従来のアダプターの場合は 1 になります。 マルチヘッド カードのマスター アダプターの場合、値は 1 より大きくなります。 複数ヘッド カードの下位アダプターの場合、値は 0 になります。 各カードには、最大で 1 つのマスターシェイプを含めることができますが、多くの下位を持つことができます。
DeclTypes
型: DWORD
頂点宣言に含まれる 1 つ以上のデータ型の組み合わせ。 「D3DDTCAPs」を参照してください。
NumSimultaneousRTs
型: DWORD
同時レンダー ターゲットの数。 この数値は 1 つ以上である必要があります。
StretchRectFilterCaps
型: DWORD
StretchRect でサポートされる操作を記述する定数の組み合わせ。 このフィールドに設定できるフラグは次のとおりです。
常時 | 説明 |
---|---|
D3DPTFILTERCAPS_MINFPOINT | Device では、四角形を縮小するためのポイントサンプル フィルター処理がサポートされています。 このフィルターの種類は、D3DTEXF_POINTを使用して StretchRect を 呼び出すことによって要求されます。 |
D3DPTFILTERCAPS_MAGFPOINT | デバイスでは、四角形を拡大するためのポイントサンプル フィルター処理がサポートされています。 このフィルターの種類は、D3DTEXF_POINTを使用して StretchRect を 呼び出すことによって要求されます。 |
D3DPTFILTERCAPS_MINFLINEAR | デバイスでは、四角形を縮小するための二次補間フィルター処理がサポートされています。 このフィルターの種類は、D3DTEXF_LINEARを使用して StretchRect を 呼び出すことによって要求されます。 |
D3DPTFILTERCAPS_MAGFLINEAR | デバイスでは、拡大四角形の二次補間フィルター処理がサポートされています。 このフィルターの種類は、D3DTEXF_LINEARを使用して StretchRect を 呼び出すことによって要求されます。 |
詳細については、「 D3DTEXTUREFILTERTYPE 」および「 D3DTEXTUREFILTERTYPE」を参照してください。
VS20Caps
デバイスでは、頂点シェーダー バージョン 2_0 の拡張機能がサポートされています。 「D3DVSHADERCAPS2_0」を参照してください。
PS20Caps
デバイスでは、ピクセル シェーダー バージョン 2_0 の拡張機能がサポートされています。 「D3DPSHADERCAPS2_0」を参照してください。
VertexTextureFilterCaps
型: DWORD
デバイスでは、頂点シェーダー テクスチャ フィルター機能がサポートされています。 「D3DPTFILTERCAPS」を参照してください。
MaxVShaderInstructionsExecuted
型: DWORD
フロー制御を使用するときに実行できる頂点シェーダー命令の最大数。 プログラミングできる命令の最大数は、MaxVertexShader30InstructionSlots です。
MaxPShaderInstructionsExecuted
型: DWORD
フロー制御を使用するときに実行できるピクセル シェーダー命令の最大数。 プログラミングできる命令の最大数は MaxPixelShader30InstructionSlots です。
MaxVertexShader30InstructionSlots
型: DWORD
サポートされている頂点シェーダー命令スロットの最大数。 この上限で設定できる最大値は 32768 です。 vs_3_0をサポートするデバイスは、少なくとも 512 個の命令スロットをサポートする必要があります。
MaxPixelShader30InstructionSlots
型: DWORD
サポートされているピクセル シェーダー命令スロットの最大数。 この上限で設定できる最大値は 32768 です。 ps_3_0をサポートするデバイスは、少なくとも 512 個の命令スロットをサポートする必要があります。
解説
MaxTextureBlendStages メンバーと MaxSimultaneousTextures メンバーは似ているように見えるかもしれませんが、異なる情報が含まれています。 MaxTextureBlendStages メンバーには、現在のデバイスでサポートされているテクスチャ ブレンド ステージの合計数が含まれており、MaxSimultaneousTextures メンバーは 、SetTexture メソッドを使用してそれらのステージにバインドできるステージの数を記述します。
ドライバーがこの構造体を満たすと、機能の取得に使用されているインターフェイス ( IDirect3DDevice9 など) が実行バッファーをサポートしていない場合でも、実行バッファー機能の値を設定できます。
一般に、テクスチャを使用し、シーン中にテクスチャを変更すると、パフォーマンスの問題が発生する可能性があります。 絶対に必要でない限り、現在の BeginScene ブロックと EndScene ブロックで使用されているテクスチャが削除されていないことを確認します。 シーン内でのテクスチャの使用率が非常に高い場合、結果は未定義です。 これは、シーンで使用したテクスチャを変更し、使用可能なスペア テクスチャ メモリがない場合に発生します。 このようなシステムの場合、z バッファーの内容は EndScene で無効になります。 アプリケーションは、BeginScene/EndScene ペア内のこの種類のハードウェアのバック バッファーに 対して UpdateSurface を呼び出さないでください。 さらに、D3DPRASTERCAPS_ZBUFFERLESSHSR機能フラグが設定されている場合、アプリケーションは z バッファーへのアクセスを試行しないでください。 最後に、アプリケーションは、BeginScene/EndScene ペア内のバック バッファーまたは z バッファーをロックしないでください。
Mipmapped テクスチャに関する次のフラグは、Direct3D 9 ではサポートされていません。
- D3DPTFILTERCAPS_LINEAR
- D3DPTFILTERCAPS_LINEARMIPLINEAR
- D3DPTFILTERCAPS_LINEARMIPNEAREST
- D3DPTFILTERCAPS_MIPNEAREST
- D3DPTFILTERCAPS_NEAREST
要件
Header | d3d9caps.h |