D3DCAPS8
Microsoft® Direct3D® オブジェクトが公開するハードウェアの能力を表す。
Type D3DCAPS8
AdapterOrdinal As Long
AlphaCmpCaps As Long
caps As Long
Caps2 As Long
Caps3 As Long
CubeTextureFilterCaps As Long
CursorCaps As Long
DestBlendCaps As Long
DevCaps As Long
DeviceType As Long
ExtentsAdjust As Single
FVFCaps As Long
GuardBandBottom As Single
GuardBandLeft As Single
GuardBandRight As Single
GuardBandTop As Single
LineCaps As Long
MaxActiveLights As Long
MaxAnisotropy As Long
MaxPixelShaderValue As Single
MaxPointSize As Single
MaxPrimitiveCount As Long
MaxSimultaneousTextures As Long
MaxStreams As Long
MaxStreamStride As Long
MaxTextureAspectRatio As Long
MaxTextureBlendStages As Long
MaxTextureHeight As Long
MaxTextureRepeat As Long
MaxTextureWidth As Long
MaxUserClipPlanes As Long
MaxVertexBlendMatrices As Long
MaxVertexBlendMatrixIndex As Long
MaxVertexIndex As Long
MaxVertexShaderConst As Long
MaxVertexW As Single
MaxVolumeExtent As Long
PixelShaderVersion As Long
PresentationIntervals As Long
PrimitiveMiscCaps As Long
RasterCaps As Long
ShadeCaps As Long
SrcBlendCaps As Long
StencilCaps As Long
TextureAddressCaps As Long
TextureCaps As Long
TextureFilterCaps As Long
TextureOpCaps As Long
VertexProcessingCaps As Long
VertexShaderVersion As Long
VolumeTextureAddressCaps As Long
VolumeTextureFilterCaps As Long
ZCmpCaps As Long
End Type
メンバ
- AdapterOrdinal
- この Direct3DDevice オブジェクトが作成されたアダプタ。この序数は、この Direct3DDevice オブジェクトを作成した Direct3D8 クラスのメソッドに渡す場合にのみ有効である。Direct3D8 クラスは、常に、Direct3DDevice8.GetDirect3D を呼び出すことによって取得できる。
- AlphaCmpCaps
- アルファ テスト比較能力。このメンバが D3DPCMPCAPS_ALWAYS 能力だけ、または D3DPCMPCAPS_NEVER 能力だけしか持っていない場合、ドライバはアルファ テストをサポートしない。それ以外の場合、CONST_D3DPCMPCAPSFLAGS 列挙で定義されているフラグは、アルファ テストのためにサポートされている個々の比較を示す。
- caps
- CONST_D3DCAPSFLAGS 列挙によって定義されるドライバ固有の能力。
- Caps2
- ドライバ固有の能力。設定可能な値は、CONST_D3DCAPS2FLAGS 列挙で定義されている。
- Caps3
- この値は使用されていない。
- CubeTextureFilterCaps
- Direct3DCubeTexture オブジェクトのテクスチャ フィルタリング能力。ステージ単位のフィルタリング能力は、Direct3DDevice8 クラスでマルチテクスチャ ブレンディングを実行する際にテクスチャ ステージに対してサポートされるフィルタリング モードを示している。このメンバには、CONST_D3DPTFILTERCAPSFLAGS 列挙で定義されている一般およびステージ単位のテクスチャ フィルタリング フラグの、任意の組み合わせを設定できる。
- CursorCaps
- カーソルに対して利用できるハードウェア サポートを示すビット マスク。設定可能な値は、CONST_D3DCURSORCAPSFLAGS で定義されている。
- DestBlendCaps
- デスティネーション ブレンディング能力。このメンバには、CONST_D3DPBLENDCAPSFLAGS 列挙で定義されている 1 つ以上のフラグを設定できる。
- DevCaps
- デバイスの能力を示すフラグ。設定可能な値は、CONST_D3DDEVCAPSFLAGS 列挙で定義されている。
- DeviceType
- CONST_D3DDEVTYPE 列挙のメンバ。このデバイスに対してエミュレートされるすべての機能を示す。このパラメータの値では、このデバイスを作成した Direct3D8.CreateDevice の呼び出しに渡された値がそのまま示される。
- ExtentsAdjust
- アンチエイリアス カーネルが収まるように矩形の外辺を調節するためのピクセル数。
- FVFCaps
- 柔軟な頂点フォーマットの能力。設定可能な値は、CONST_D3DFVFCAPSFLAGS 列挙で定義されている。
- GuardBandBottom、GuardBandLeft、GuardBandRight、および GuardBandTop
- ガードバンド クリッピング領域の画面空間座標。この矩形内にあり、かつビューポート矩形の外側にある座標は、自動的にクリッピングされる。
- LineCaps
- 線描画プリミティブの能力を定義する。設定可能な値は、CONST_D3DLINECAPS 列挙で定義されている。
- MaxActiveLights
- 同時にアクティブにすることができるライトの最大数。任意の物理デバイスの場合、この能力は、Direct3D8.CreateDevice に指定されたパラメータに応じて、Direct3D Device Object 間で異なることがある。
- MaxAnisotropy
- D3DTSS_MAXANISOTROPY テクスチャ ステージ ステートの最大有効値。
- MaxPixelShaderValue
- ピクセル シェーダの算術コンポーネントの最大値。この値は、ピクセル カラー ブレンディング処理でサポートされる値の内部範囲を示す。実装では、レポートされる範囲のデータが、変更 (制限) されずにピクセル処理に渡されるようにしなければならない。通常、このメンバの値は絶対値である。たとえば、1.0 は -1.0〜1.0 の範囲を示し、8.0 は -8.0〜8.0 の範囲を示す。この値が 0.0 の場合は、符号付きの範囲がサポートされていないことを示し、範囲は Microsoft DirectX® バージョン 6.0 および 7.0 と同様に 0.0〜1.0 になる。
- MaxPointSize
- ポイント プリミティブの最大サイズ。1.0f に設定されている場合、デバイスはポイントのサイズの制御をサポートしていない。範囲は 1.0 以上である。
- MaxPrimitiveCount
- DrawPrimitive の各呼び出しの最大プリミティブ数。
- MaxSimultaneousTextures
- テクスチャ ブレンディング ステージに同時にバインドできるテクスチャの最大数。この値は、シングル パスで使用できるテクスチャの数を指定する。Microsoft® DirectX® 8.0 では、これは特定のハードウェアのピクセル シェーダによってサポートされるテクスチャ レジスタの数、および使用できるテクスチャ宣言命令の数を示す。
- MaxStreams
- Direct3DDevice8.SetStreamSourceに対する現在のデータ ストリームの最大数。有効な範囲は 1 から 16 である。この値が 0 の場合、ドライバは Microsoft DirectX® 8.0 ドライバ以外のものであることに注意すること。
- MaxStreamStride
- Direct3DDevice8.SetStreamSource の最大ストライド。
- MaxTextureAspectRatio
- ハードウェアによってサポートされる、テクスチャの最大アスペクト比。通常は 2 の累乗。
- MaxTextureBlendStages
- サポートされるテクスチャ ブレンディング ステージの最大数。この値は、使用可能なブレンダの数である。DirectX 8.0 のプログラム可能ピクセル パイプラインでは、これは、この特定の実装のピクセル シェーダによってサポートされている命令数に対応する。
- MaxTextureHeight および MaxTextureWidth
- このデバイスで最大のテクスチャの高さと幅。
- MaxTextureRepeat
- 正規化した後のテクスチャ インデックスの整数ビットの全範囲。D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE ビットが設定されている場合、デバイスは、テクスチャ アドレッシング モードが適用されるまでテクスチャ サイズによるスケーリングを行わない。このビットが設定されていない場合、デバイスはテクスチャ サイズ (最大詳細レベル) によるテクスチャ インデックスのスケーリングを実行してから補間を行う。
D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE が設定されている場合、テクスチャをラップできる回数は MaxTextureRepeat である。D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE が設定されていない場合、テクスチャをラップできる回数はMaxTextureRepeat × テクスチャ サイズである。たとえば、デバイスが D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE を設定し、MaxTextureRepeat が 32k で、最大テクスチャ サイズが 4k であるとする。このデバイスは、27 の整数ビット (および 32 ビット符号付き整数の場合は 5 つの小数ビット) を使用するので、4k のテクスチャを 32k 回ラップするのに十分である (テクスチャ座標が、正と負のテクスチャ座標の範囲に等しく広がっていると仮定した場合)。一方、デバイスが D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE を設定できない場合は、MaxTextureRepeat を 2**27 に設定する。
- MaxUserClipPlanes
- サポートされるユーザー定義クリップ面の最大数。このメンバは 0 から D3DMAXUSERCLIPPLANES までの範囲になる。任意の物理デバイスの場合、この能力は、Direct3D8.CreateDevice に指定されたパラメータに応じて、Direct3D Device Object 間で異なることがある。
- MaxVertexBlendMatrices
- 複数の行列による頂点ブレンディングを実行する際にデバイスが適用できる行列の最大数。任意の物理デバイスの場合、この能力は、Direct3D8.CreateDevice に指定されたパラメータに応じて、Direct3D Device Object 間で異なることがある。
- MaxVertexBlendMatrixIndex
- 頂点ごとのインデックスを使ってインデックス付けできる最大の行列インデックスを示す値。行列の数は MaxVertexBlendMatrixIndex + 1 で、これは行列パレットのサイズである。ライティングにブレンディングする必要のある頂点データに法線が存在する場合、行列の数は、この能力フラグで示されている数の半分になる。MaxVertexBlendMatrixIndex が 0 に設定されている場合、ドライバはインデックス付き頂点ブレンディングをサポートしていない。この値が 0 でない場合は、インデックスの有効な範囲は 0 から MaxVertexBlendIndexedMatrices までである。
MaxVertexBlendMatrixIndex の値が 0 の場合は、ドライバがインデックス付き行列をサポートしていないことを示す。
ソフトウェア頂点処理が使われている場合は、法線ブレンディングがあってもなくても、256 個の行列をインデックス付き頂点ブレンディングに使用できる。
任意の物理デバイスの場合、この能力は、Direct3D8.CreateDevice に指定されたパラメータに応じて、Direct3D Device Object 間で異なることがある。
- MaxVertexIndex
- ハードウェア頂点処理に対してサポートされるインデックスの最大サイズ。D3DFMT_INDEX32 を指定して 32 ビット インデックス バッファを作成できる。ただし、この値が &HFFFF よりも大きくない場合は、インデックス バッファを使ってレンダリングできない。
- MaxVertexW
- デバイスがサポートする最大の W ベース深度値。
- MaxVolumeExtent
- 最大ボリューム範囲。
- MaxVertexShaderConst
- 頂点シェーダ定数レジスタの数。
- PixelShaderVersion
- ピクセル シェーダのバージョン。デバイスがサポートするピクセル シェーダのレベルを示す。Direct3DDevice8.CreatePixelShader の呼び出しは、このメンバの値以下のバージョン番号のピクセル シェーダを指定した場合にのみ成功する。
主なバージョン番号は、セカンド バイトにエンコードされる。下位バイトには、サブバージョンの番号が含まれる。
- PresentationIntervals
- 利用可能なプレゼンテーション スワップ間隔を示す値のビット マスク。設定可能な値は、CONST_D3DPRESENT_INTERVAL_FLAGS 列挙で定義されている。
- PrimitiveMiscCaps
- このプリミティブの総体的な能力。設定可能な値は、CONST_D3DPMISCCAPSFLAGS 列挙で定義されている。
- RasterCaps
- ラスタ描画能力の情報。このメンバには、CONST_D3DPRASTERCAPSFLAGS 列挙で定義されている 1 つ以上のフラグを設定できる。
- ShadeCaps
- シェーディング処理能力。一般に、デバイスが何らかのコマンドをサポートしている場合、そのデバイスは D3DSHADE_FLAT モード (CONST_D3DSHADEMODE 列挙で指定される) をサポートしていると見なされる。このフラグは、ドライバがグーロー シェーディングもサポートできるかどうか、およびアルファ成分がサポートされているかどうかを示す。アルファ成分がサポートされていない場合、生成された色のアルファ値は暗黙で 255 になる。この数値が、アルファの最大値 (アルファ成分が最強) である。
三角形の色、スペキュラ ハイライト、フォグ、およびアルファの各補間要素にはそれぞれ能力フラグがあり、アプリケーションはそのフラグを使用して、デバイス ドライバがそれらをどのように実装しているかを知ることができる。
このメンバには、CONST_D3DPSHADECAPSFLAGS 列挙で定義されている 1 つ以上のフラグを設定できる。
- SrcBlendCaps
- ソース ブレンディング能力。このメンバには、CONST_D3DPBLENDCAPSFLAGS 列挙で定義されている 1 つ以上のフラグを設定できる。
- StencilCaps
- サポートされているステンシル バッファ処理を指定するフラグ。ステンシル処理は、3 種類のステンシル バッファ処理レンダリング ステート (D3DRS_STENCILFAIL、D3DRS_STENCILPASS、D3DRS_STENCILFAILZFAIL) のすべてに対して有効であると見なされる。設定可能な値は、CONST_D3DSTENCILCAPFLAGS 列挙で定義されている。
詳細については、「CONST_D3DSTENCILOP 列挙」を参照すること。
- TextureAddressCaps
- Direct3DTexture オブジェクトのテクスチャ アドレッシング能力。このメンバには、CONST_D3DPTADDRESSCAPSFLAGS 列挙で定義されている 1 つ以上のフラグを設定できる。
- TextureCaps
- その他のテクスチャ マッピング能力。このメンバには、CONST_D3DPTEXTURECAPSFLAGS 列挙で定義されている 1 つ以上のフラグを設定できる。
- TextureFilterCaps
- Direct3DTexture オブジェクトのテクスチャ フィルタリング能力。一般的なテクスチャ フィルタリング フラグは、どのテクスチャ フィルタリング モードをサポートするかを示し、D3DTSS_MAGFILTER、D3DTSS_MINFILTER、または D3DTSS_MIPFILTER のテクスチャ ステージ ステートに設定できる。ステージ単位のフィルタリング能力は、Direct3DDevice8 クラスでマルチテクスチャ ブレンディングを実行する際にテクスチャ ステージに対してサポートされるフィルタリング モードを示している。このメンバには、CONST_D3DPTFILTERCAPSFLAGS 列挙で定義されている一般およびステージ単位のテクスチャ フィルタリング フラグの、任意の組み合わせを設定できる。
- TextureOpCaps
- このデバイスがサポートするテクスチャ処理を示すフラグの組み合わせ。設定可能な値は、CONST_D3DTEXOPCAPSFLAGS 列挙で定義されている。
詳細については、「CONST_D3DTEXTUREOP 列挙」を参照すること。
- VertexProcessingCaps
- 頂点の処理能力。設定可能な値は、CONST_D3DVTXPCAPSFLAGS 列挙で定義されている。任意の物理デバイスの場合、この能力は、Direct3D8.CreateDevice に指定されたパラメータに応じて、Direct3D Device Object 間で異なることがある。
- VertexShaderVersion
- 頂点シェーダのバージョン。デバイスがサポートする頂点シェーダのレベルを示す。Direct3DDevice8.CreateVertexShader の呼び出しは、このメンバの値以下のバージョン番号の頂点シェーダを指定した場合にのみ成功する。CreateVertexShader に対するシェーダのレベルの指定は、頂点シェーダ トークン ストリームの第 1 トークンで行われる。
- DirectX 7.0 の機能は 0。
- DirectX 8.0 機能は 01。
主なバージョン番号は、セカンド バイトにエンコードされる。下位バイトには、サブバージョンの番号が含まれる。
- VolumeTextureAddressCaps
- Direct3DVolumeTexture オブジェクトのテクスチャ アドレッシング能力。このメンバには、CONST_D3DPTADDRESSCAPSFLAGS 列挙で定義されている 1 つ以上のフラグを設定できる。
- VolumeTextureFilterCaps
- Direct3DVolumeTexture オブジェクトのテクスチャ フィルタリング能力。ステージ単位のフィルタリング能力は、Direct3DDevice8 クラスでマルチテクスチャ ブレンディングを実行する際にテクスチャ ステージに対してサポートされるフィルタリング モードを示している。このメンバは、TextureFilterCaps 用に定義されたステージ単位のテクスチャ フィルタリング フラグを任意に組み合わせたものである。このメンバには、CONST_D3DPTFILTERCAPSFLAGS 列挙で定義されている一般およびステージ単位のテクスチャ フィルタリング フラグの、任意の組み合わせを設定できる。
- ZCmpCaps
- Z バッファ比較能力。このメンバには、AlphaCmpCaps メンバに対して定義されているものと同じ能力フラグを設定できる。このメンバに対するフラグは、CONST_D3DPCMPCAPSFLAGS 列挙で定義されている。
注意
MaxTextureBlendStages メンバと MaxSimultaneousTextures メンバは同じもののように見えるが、互いに異なる情報を含んでいる。MaxTextureBlendStages メンバは、現在のデバイスでサポートされるテクスチャ ブレンディング ステージの総数を示し、MaxSimultaneousTextures メンバは、Direct3DDevice8.SetTexture メソッドを使ってこれらのステージのうち何個のステージでテクスチャをバインドできるかを示す。
ドライバがこの型に値を設定する場合、能力の取得に使用するクラス (Direct3DDevice8 など) が実行バッファをサポートしていなくても、実行バッファ能力の値が設定される場合がある。
ミップマップ テクスチャに関連する次のフラグは、DirectX 8.0 ではサポートされていない。
- D3DPTFILTERCAPS_NEAREST
- D3DPTFILTERCAPS_LINEAR
- D3DPTFILTERCAPS_MIPNEAREST
- D3DPTFILTERCAPS_MIPLINEAR
- D3DPTFILTERCAPS_LINEARMIPNEAREST
- D3DPTFILTERCAPS_LINEARMIPLINEAR
参照
Direct3D8.GetDeviceCaps、Direct3DDevice8.GetDeviceCaps