Microsoft DirectX 8.0 (Visual Basic)

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_MAGFILTERD3DTSS_MINFILTER、または D3DTSS_MIPFILTER のテクスチャ ステージ ステートに設定できる。ステージ単位のフィルタリング能力は、Direct3DDevice8 クラスでマルチテクスチャ ブレンディングを実行する際にテクスチャ ステージに対してサポートされるフィルタリング モードを示している。このメンバには、CONST_D3DPTFILTERCAPSFLAGS 列挙で定義されている一般およびステージ単位のテクスチャ フィルタリング フラグの、任意の組み合わせを設定できる。
TextureOpCaps
このデバイスがサポートするテクスチャ処理を示すフラグの組み合わせ。設定可能な値は、CONST_D3DTEXOPCAPSFLAGS 列挙で定義されている。

詳細については、「CONST_D3DTEXTUREOP 列挙」を参照すること。

VertexProcessingCaps
頂点の処理能力。設定可能な値は、CONST_D3DVTXPCAPSFLAGS 列挙で定義されている。任意の物理デバイスの場合、この能力は、Direct3D8.CreateDevice に指定されたパラメータに応じて、Direct3D Device Object 間で異なることがある。
VertexShaderVersion
頂点シェーダのバージョン。デバイスがサポートする頂点シェーダのレベルを示す。Direct3DDevice8.CreateVertexShader の呼び出しは、このメンバの値以下のバージョン番号の頂点シェーダを指定した場合にのみ成功する。CreateVertexShader に対するシェーダのレベルの指定は、頂点シェーダ トークン ストリームの第 1 トークンで行われる。

主なバージョン番号は、セカンド バイトにエンコードされる。下位バイトには、サブバージョンの番号が含まれる。

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 ではサポートされていない。

参照

Direct3D8.GetDeviceCapsDirect3DDevice8.GetDeviceCaps