Platform SDK: DirectX

D3DPRIMCAPS

D3DPRIMCAPS 構造体は、それぞれのプリミティブ型の能力を定義する。デバイスの生成時やデバイスの能力を取得するときに使用される。この構造体は、D3DDEVICEDESC7 構造体の一部のメンバを定義する。

typedef struct _D3DPrimCaps { 
    DWORD dwSize;               // 構造体のサイズ。
    DWORD dwMiscCaps;           // その他の能力。
    DWORD dwRasterCaps;         // ラスタ能力。
    DWORD dwZCmpCaps;           // Z 比較能力。
    DWORD dwSrcBlendCaps;       // ソース ブレンディング能力。
    DWORD dwDestBlendCaps;      // デスティネーション ブレンディング能力。
    DWORD dwAlphaCmpCaps;       // アルファ テスト比較能力。
    DWORD dwShadeCaps;          // シェーディング能力。
    DWORD dwTextureCaps;        // テクスチャ能力。
    DWORD dwTextureFilterCaps;  // テクスチャ フィルタリング能力。
    DWORD dwTextureBlendCaps;   // テクスチャ ブレンディング能力。
    DWORD dwTextureAddressCaps; // テクスチャ アドレッシング能力。
    DWORD dwStippleWidth;       // 点描の幅。
    DWORD dwStippleHeight;      // 点描の高さ。
} D3DPRIMCAPS, *LPD3DPRIMCAPS; 

メンバ

dwSize
この構造体のバイト単位のサイズ。このメンバは構造体が使われる前に初期化しなければならない。
dwMiscCaps
このプリミティブの総体的な能力。このメンバは、次の値を 1 つ以上設定できる。
D3DPMISCCAPS_CONFORMANT
デバイスは、OpenGL 標準に準じている。
D3DPMISCCAPS_CULLCCW
ドライバは、D3DRENDERSTATE_CULLMODE ステートを使用して反時計回りのカリングをサポートする (これは三角形プリミティブにのみ適用される)。D3DCULL 列挙型の D3DCULL_CCW メンバに対応する。
D3DPMISCCAPS_CULLCW
ドライバは、D3DRENDERSTATE_CULLMODE ステートを使用して時計回りのカリングサポートする (これは三角形プリミティブにのみ適用される)。D3DCULL 列挙型の D3DCULL_CCW メンバに対応する。
D3DPMISCCAPS_CULLNONE
ドライバは、選択している三角形を実行できない。D3DCULL 列挙型の D3DCULL_NONE メンバに対応する。
D3DPMISCCAPS_LINEPATTERNREP
ドライバは、D3DLINEPATTERN 構造体の wRepeatFactor メンバで 1 以外の値を処理できる (これは線描画プリミティブにのみ適用される)。
D3DPMISCCAPS_MASKPLANES
デバイスは、色のビットマスクを実行できる。
D3DPMISCCAPS_MASKZ
デバイスは、ピクセル操作の深度バッファ変更を有効にしたり、無効にしたりできる。
dwRasterCaps
ラスタ描画の能力情報。このメンバは、次の値を 1 つ以上設定できる。
D3DPRASTERCAPS_ANISOTROPY
デバイスは異方性フィルタリングをサポートする。詳細については、D3DRENDERSTATETYPE 構造体の「D3DRENDERSTATE_ANISOTROPY」を参照すること。

このフラグは DirectX 5.0 で導入された。

D3DPRASTERCAPS_ANTIALIASEDGES
デバイスは、オブジェクトの輪郭線が凸状になるようなアンチエイリアス線を作ることができる。詳細については、D3DRENDERSTATETYPE 構造体の「D3DRENDERSTATE_EDGEANTIALIAS」を参照すること。

このフラグは DirectX 5.0 で導入された。

D3DPRASTERCAPS_ANTIALIASSORTDEPENDENT
デバイスは、ポリゴンのソート順 (後方から前方、または前方から後方) に依存するアンチエイリアシングをサポートする。アプリケーションは、アンチエイリアシングが生じることに備え、正しい順序でポリゴンを作図しなければならない。詳細については、「D3DANTIALIASMODE」列挙型を参照すること。

このフラグは DirectX 5.0 で導入された。

D3DPRASTERCAPS_ANTIALIASSORTINDEPENDENT
デバイスは、ポリゴンのソート順によらないアンチエイリアシングをサポートする。詳細については、「D3DANTIALIASMODE」列挙型を参照すること。

このフラグは DirectX 5.0 で導入された。

D3DPRASTERCAPS_DITHER
デバイスは、色の再現力を良くするためにディザ表示できる。
D3DPRASTERCAPS_FOGRANGE
デバイスは範囲準拠のフォグをサポートする。範囲準拠のフォグでは、シーンにおけるオブジェクトの深さ (z 座標) ではなく、オブジェクトのビューアからの距離でフォグ エフェクトを計算する。詳細については、「範囲ベースのフォグ」を参照すること。

このフラグは DirectX 5.0 で導入された。

D3DPRASTERCAPS_FOGTABLE
デバイスは、ピクセルの深さを指すフォグ値をトランスフォームする取得テーブルと照合して、フォグ値を算出する。
D3DPRASTERCAPS_FOGVERTEX
デバイスはライティング処理の間フォグ値を計算し、D3DTLVERTEX 構造体の specular メンバで与えられた D3DCOLOR 値のアルファ成分中の値に置き換え、ラスタの間フォグ値を補間する。
D3DPRASTERCAPS_MIPMAPLODBIAS
デバイスは詳細レベル (LOD) バイアス調整をサポートする。これらのバイアス調整で、アプリケーションがミップマップを普通よりもすっきりとまたはあまり鋭くなく見せることができるようになる。ミップマップの LOD バイアスの詳細については、「D3DRENDERSTATE_MIPMAPLODBIAS」を参照すること。
D3DPRASTERCAPS_PAT
ドライバは、パターン描画を処理できる。(D3DRENDERSTATE_LINEPATTERN や D3DRENDERSTATE_STIPPLEPATTERN レンダリング ステートの 1 つでの線描や塗りつぶし) プリミティブ用に照会される。
D3DPRASTERCAPS_ROP2
デバイスは、R2_COPYPEN 以外のラスタ化をサポートできる。
D3DPRASTERCAPS_STIPPLE
デバイスは、半透明をシミュレートするポリゴンを点描できる。
D3DPRASTERCAPS_SUBPIXEL
デバイスは、一番近い整数型のピクセル座標でなく、Z、色、テクスチャのデータのサブピクセル配置で処理する。これは、Z のブリード線を避けるのを助ける (色のジッタとピクセルのテクスチャ値も)。有効および無効に対応するステートはなく、デバイスはサブピクセル配置を実行するかしないかのいずれかである。このビットは、より高品質なレンダリングの決定のために存在する。
D3DPRASTERCAPS_SUBPIXELX
デバイスは、X 軸に沿ったサブ ピクセル配置であり、整数型の Y 軸の走査線を積み上げたものである。サブ ピクセル配置についての詳細は、D3DPRASTERCAPS_SUBPIXELを参照すること。
D3DPRASTERCAPS_TRANSLUCENTSORTINDEPENDENT
デバイスは、ポリゴンのソート順に依存しない半透明表示をサポートする。詳細については、「D3DRENDERSTATE_TRANSLUCENTSORTINDEPENDENT」を参照すること。
D3DPRASTERCAPS_WBUFFER
デバイスは W を使用する深度バッファリングをサポートする。詳細については、「深度バッファ」を参照すること。
D3DPRASTERCAPS_WFOG
デバイスは w 準拠のフォグをサポートする。W ベースのフォグは、パースペクティブ射影行列が指定された場合に使用されるが、アフィン射影では現在でも Z ベースのフォグが使用される。[3][4] 要素にゼロ以外の値がある射影行列がパースペクティブ射影行列と見なされる。
D3DPRASTERCAPS_XOR
デバイスは排他的論理和処理 (XOR) をサポートする。このフラグではなく D3DPRIM_RASTER_ROP2 を設定する場合は、排他的論理和処理がサポートされている必要がある。
D3DPRASTERCAPS_ZBIAS
デバイスは z バイアス値をサポートする。これらは平面を共有するポリゴンを別のものに見せるよう、ポリゴンに割り当てられた整数値である。詳細については、D3DRENDERSTATETYPE 列挙型の「D3DRENDERSTATE_ZBIAS」を参照すること。

このフラグは DirectX 5.0 で導入された。

D3DPRASTERCAPS_ZBUFFERLESSHSR
デバイスは、隠れサーフェスの除去 (HRS) を実行可能であり、このとき、ポリゴンのソートや、深度バッファの割り付けを必要としない。これにより、より多くのビデオ メモリをテクスチャ用に使うことができる。隠れサーフェス除去に使用するメソッドはハードウェアの機能に依存し、アプリケーション透過である。

Z バッファなしの HRS が実行されるのは、深度バッファがレンダリングターゲット サーフェスにアタッチされてなく、かつ深度バッファの比較テストが有効になっている場合 (つまり、D3DRENDERSTATE_ZENABLE 列挙定数に関連付けられたステート値が TRUE に設定されている場合) である。

D3DPRASTERCAPS_ZFOG
デバイスは W ベースのフォグをサポートする。

このフラグは DirectX 7.0 で導入された。

D3DPRASTERCAPS_ZTEST
デバイスは Z テスト処理を実行できる。これは、効果的にプリミティブをレンダリングし、Z ピクセルがレンダリングされたかどうかを示す。
dwZCmpCaps
Z バッファ比較能力。このメンバは、次の値を 1 つ以上設定できる。
D3DPCMPCAPS_ALWAYS
常に Z テストを通す。
D3DPCMPCAPS_EQUAL
新規の Z が現在の Z と等しい場合、Z テストを通す。
D3DPCMPCAPS_GREATER
新規の Z が現在の Z より大きい場合、Z テストを通す。
D3DPCMPCAPS_GREATEREQUAL
新規の Z が現在の Z より大きいか等しい場合、Z テストを通す。
D3DPCMPCAPS_LESS
新規の Z が現在の Z より 小さい場合、Z テストを通す。
D3DPCMPCAPS_LESSEQUAL
新規の Z が現在の Z より小さいか等しい場合、Z テストを通す。
D3DPCMPCAPS_NEVER
常に Z テストを失敗する。
D3DPCMPCAPS_NOTEQUAL
新規の Z が現在の Z と等しくない場合、Z テストを通す。
dwSrcBlendCaps
ソース ブレンディング能力。このメンバには、以下の値のいずれかまたは複数を設定できる (ソースおよびデスティネーションの RGBA 値は添字の s および d. で示される)。
D3DPBLENDCAPS_BOTHINVSRCALPHA
ソース ブレンディング係数は、(1-As, 1-As, 1-As, 1-As)。デスティネーション ブレンディング係数は、(As, As, As, As)。デスティネーション混合節は、無効となる。
D3DPBLENDCAPS_BOTHSRCALPHA
ドライバは D3DBLEND_BOTHSRCALPHA ブレンディング モードをサポートする (このブレンディング モードは DirectX 6.0 以降では廃止されている。詳細については、「D3DBLEND」を参照すること)。
D3DPBLENDCAPS_DESTALPHA
ブレンディング係数は、(Ad, Ad, Ad, Ad)。
D3DPBLENDCAPS_DESTCOLOR
ブレンディング係数は、(Rd, Gd, Bd, Ad)。
D3DPBLENDCAPS_INVDESTALPHA
ブレンディング係数は、(1-Ad, 1-Ad, 1-Ad, 1-Ad)。
D3DPBLENDCAPS_INVDESTCOLOR
ブレンディング係数は、(1-Rd, 1-Gd, 1-Bd, 1-Ad)。
D3DPBLENDCAPS_INVSRCALPHA
ブレンディング係数は、(1-As, 1-As, 1-As, 1-As)。
D3DPBLENDCAPS_INVSRCCOLOR
ブレンディング係数は、(1-Rd, 1-Gd, 1-Bd, 1-Ad)。
D3DPBLENDCAPS_ONE
ブレンディング係数は、(1, 1, 1, 1)。
D3DPBLENDCAPS_SRCALPHA
ブレンディング係数は、(As, As, As, As)。
D3DPBLENDCAPS_SRCALPHASAT
ブレンディング係数は、(f, f, f, 1)。f = min(As, 1-Ad)
D3DPBLENDCAPS_SRCCOLOR
ブレンディング係数は、(Rs, Gs, Bs, As)。
D3DPBLENDCAPS_ZERO
ブレンディング係数は、(0, 0, 0, 0)。
dwDestBlendCaps
デスティネーション ブレンディング能力。このメンバは、dwSrcBlendCaps メンバで定義された能力情報と同じである。
dwAlphaCmpCaps
アルファ テスト比較能力。このメンバは、dwZCmpCaps メンバで定義された能力フラグを含む。このメンバが D3DPCMPCAPS_ALWAYS 能力だけ、または D3DPCMPCAPS_NEVER 能力だけしかもっていない場合、ドライバはアルファ テストをサポートしない。それ以外の場合、このフラグにより、アルファ テストをサポートする個々の比較を指定する。
dwShadeCaps
シェーディング処理能力。一般的に、デバイスが (D3DOP_TRIANGLE など) 指定されたコマンドをサポートしている場合、そのデバイスは D3DSHADE_FLAT モード (D3DSHADEMODE 列挙型で指定される) をサポートすると見なされる。このフラグは、デバイスがグーロー シェーディングおよびフォン シェーディングをサポートするかどうか、および 3 つのカラー生成モードに対してそれぞれアルファ成分がサポートされるかどうかを指定する。アルファ成分が与えられたモードでサポートされない場合、そのモードで生成された色のアルファ値は必ず 255 になる。この数値が、アルファの最大値 (アルファが最強) である。フォン シェーディングは、現在サポートされていない。

モノクロ シェーディング モードでは、スペキュラ成分の青チャネルが白の輝度として解釈される (これは D3DRENDERSTATE_MONOENABLE レンダリング ステートで制御される)。

三角形の色、スペキュラ ハイライト、フォグ、およびアルファ成分には、それぞれ能力フラグがあり、アプリケーションは、そのフラグを使用して、デバイス ドライバがそれらをどのように実装しているかを知ることができる。このフラグは、シェーディング モード、色モデル、またはカラーのアルファ成分がブレンディングされるか点描されるかによって変更される。詳細については、「3D プリミティブ」を参照すること。

このメンバは、次の値を 1 つ以上設定できる。

D3DPSHADECAPS_ALPHAFLATBLEND
デバイスは、フラット ブレンディングおよび点描された透過性に対してそれぞれアルファ成分をサポートできる (D3DSHADEMODE 列挙型の D3DSHADE_FLAT ステート)。これらのモードでは、プリミティブのアルファ成分は、プリミティブの最初の頂点のカラーの一部として与えられる。
D3DPSHADECAPS_ALPHAFLATSTIPPLED
デバイスは、フラット ブレンディングおよび点描された透過性に対してそれぞれアルファ成分をサポートできる (D3DSHADEMODE 列挙型の D3DSHADE_FLAT ステート)。これらのモードでは、プリミティブのアルファ成分は、プリミティブの最初の頂点のカラーの一部として与えられる。
D3DPSHADECAPS_ALPHAGOURAUDBLEND
デバイスは、透過的にそれぞれ混合や点描されたグーロー (D3DSHADEMODE 列挙型の D3DSHADE_GOURAUD ステート) のアルファ成分をサポートできる。これらのモードでは、プリミティブのアルファ成分は頂点で与えられ、ほかの色成分と共に面に沿って補間される。
D3DPSHADECAPS_ALPHAGOURAUDSTIPPLED
デバイスは、透過的にそれぞれ混合や点描されたグーロー (D3DSHADEMODE 列挙型の D3DSHADE_GOURAUD ステート) のアルファ成分をサポートできる。これらのモードでは、プリミティブのアルファ成分は頂点で与えられ、ほかの色成分と共に面に沿って補間される。
D3DPSHADECAPS_ALPHAPHONGBLEND
デバイスは、透過的にそれぞれ混合や点描されたフォン (D3DSHADEMODE 列挙型の D3DSHADE_PHONG) のアルファ成分をサポートできる。これらのモードで、頂点パラメータは赤、緑、青の色成分の光源エフェクトを適用して、ピクセル単位に再評価される。フォン シェーディングは、現在サポートされていない。
D3DPSHADECAPS_ALPHAPHONGSTIPPLED
デバイスは、透過的にそれぞれ混合や点描されたフォン (D3DSHADEMODE 列挙型の D3DSHADE_PHONG ステート) のアルファ成分をサポートできる。これらのモードで、頂点パラメータは赤、緑、青の色成分の光源エフェクトを適用して、ピクセル単位に再評価される。フォン シェーディングは、現在サポートされていない。
D3DPSHADECAPS_COLORFLATMONO
デバイスは、D3DCOLOR_MONO および D3DCOLOR_RGB 色モデルのそれぞれにおいて、カラー フラット シェーディングをサポートできる。これらのモードでは、プリミティブに対する色成分はプリミティブの最初の頂点の色の一部として与えられる。モノクロ ライティング モデルでは、カラーの青成分のみ補間され、RGB ライティング モデルでは赤、緑、および青成分が補間される。
D3DPSHADECAPS_COLORFLATRGB
デバイスは、D3DCOLOR_MONO および D3DCOLOR_RGB 色モデルのそれぞれにおいて、カラー フラット シェーディングをサポートできる。これらのモードでは、プリミティブに対する色成分はプリミティブの最初の頂点の色の一部として与えられる。モノクロ ライティング モデルでは、カラーの青成分のみ補間され、RGB ライティング モデルでは赤、緑、および青成分が補間される。
D3DPSHADECAPS_COLORGOURAUDMONO
デバイスは、D3DCOLOR_MONOD3DCOLOR_RGB 色モデルのそれぞれについて、カラー グーロー シェーディングをサポートできる。これらのモードでは、プリミティブに対する色成分は頂点で与えられ、ほかの色成分と共に面に沿って補間される。モノクロ ライティング モデルでは、カラーの青成分のみ補間され、RGB ライティング モデルでは赤、緑、および青成分が補間される。
D3DPSHADECAPS_COLORGOURAUDRGB
デバイスは、D3DCOLOR_MONOD3DCOLOR_RGB 色モデルのそれぞれについて、カラー グーロー シェーディングをサポートできる。これらのモードでは、プリミティブに対する色成分は頂点で与えられ、ほかの色成分と共に面に沿って補間される。モノクロ ライティング モデルでは、カラーの青成分のみ補間され、RGB ライティング モデルでは赤、緑、および青成分が補間される。
D3DPSHADECAPS_COLORPHONGMONO
デバイスは、D3DCOLOR_MONOD3DCOLOR_RGB 色モデルのそれぞれについて、カラー フォン シェーディングをサポートできる。これらのモードでは、頂点パラメータはピクセル単位に再評価される。光源エフェクトは、RGB モデルの場合は赤、緑、青成分に適用され、モノクロ モデルの場合は青成分にのみ適用される。フォン シェーディングは、現在サポートされていない。
D3DPSHADECAPS_COLORPHONGRGB
デバイスは、D3DCOLOR_MONOD3DCOLOR_RGB 色モデルのそれぞれについて、カラー フォン シェーディングをサポートできる。これらのモードでは、頂点パラメータはピクセル単位に再評価される。光源エフェクトは、RGB モデルの場合は赤、緑、青成分に適用され、モノクロ モデルの場合は青成分にのみ適用される。フォン シェーディングは、現在サポートされていない。
D3DPSHADECAPS_FOGFLAT
デバイスは、フラット、グーロー、フォン シェーディング モードでフォグをサポートできる。フォン シェーディングは、現在サポートされていない。
D3DPSHADECAPS_FOGGOURAUD
デバイスは、フラット、グーロー、フォン シェーディング モードでフォグをサポートできる。フォン シェーディングは、現在サポートされていない。
D3DPSHADECAPS_FOGPHONG
デバイスは、フラット、グーロー、フォン シェーディング モードでフォグをサポートできる。フォン シェーディングは、現在サポートされていない。
D3DPSHADECAPS_SPECULARFLATMONO
デバイスは、D3DCOLOR_MONOD3DCOLOR_RGB 色モデルのフラット シェーディングのスペキュラ ハイライトをサポートできる。
D3DPSHADECAPS_SPECULARFLATRGB
デバイスは、D3DCOLOR_MONOD3DCOLOR_RGB 色モデルのフラット シェーディングのスペキュラ ハイライトをサポートできる。
D3DPSHADECAPS_SPECULARGOURAUDMONO
デバイスは、D3DCOLOR_MONO および D3DCOLOR_RGB 色モデルのグーロー シェーディングのスペキュラ ハイライトをサポートできる。
D3DPSHADECAPS_SPECULARGOURAUDRGB
デバイスは、D3DCOLOR_MONO および D3DCOLOR_RGB 色モデルのグーロー シェーディングのスペキュラ ハイライトをサポートできる。
D3DPSHADECAPS_SPECULARPHONGMONO
デバイスは、D3DCOLOR_MONO および D3DCOLOR_RGB 色モデルのフォン シェーディングのスペキュラ ハイライトをサポートできる。フォン シェーディングは、現在サポートされていない。
D3DPSHADECAPS_SPECULARPHONGRGB
デバイスは、D3DCOLOR_MONOD3DCOLOR_RGB 色モデルのフォン シェーディングのスペキュラ ハイライトをサポートできる。フォン シェーディングは、現在サポートされていない。
dwTextureCaps
混合テクスチャ マッピング能力。このメンバは、次の値を 1 つ以上設定できる。
D3DPTEXTURECAPS_ALPHA
D3DTBLEND_DECAL と D3DTBLEND_MODULATE テクスチャ フィルタ モードの RGBA テクスチャをサポートする。この能力が設定されていない場合は、RGB テクスチャのみこれらのモードでサポートされる。このフラグの設定を無視すると、アルファは使用可能な D3DTBLEND_DECALMASK、D3DTBLEND_DECALALPHA、D3DTBLEND_MODULATE_ALPHA フィルタ モードでサポートされる。
D3DPTEXTURECAPS_ALPHAPALETTE
パレットにアルファ情報を含むパレット化 テクスチャ サーフェスをサポートする (DDCAPS 構造体の「DDPCAPS_ALPHA」を参照すること)。
D3DPTEXTURECAPS_BORDER
D3DPTADDRESSCAPS_BORDER が代わって使用される。
D3DPTEXTURECAPS_COLORKEYBLEND
デバイスは、D3DRENDERSTATE_COLORKEYBLENDENABLE レンダリング ステートを使用してアルファ ブレンディング カラー キーイングをサポートする。
D3DPTEXTURECAPS_CUBEMAP
キューブ環境マップをサポートする。この能力フラグは DirectX 7.0 で導入された。
D3DPTEXTURECAPS_NONPOW2CONDITIONAL
場合によっては、大きさが 2 の累乗でないテクスチャの使用をサポートする。以下の条件をすべて満たす場合、この能力を公開するデバイスではこのようなテクスチャを使用できる。
D3DPTEXTURECAPS_PERSPECTIVE
パースペクティブ補正がサポートされる。
D3DPTEXTURECAPS_POW2
ミップマップ化されていないすべてのテクスチャの幅および高さは 2 の累乗で指定する必要がある (ミップマップ化テクスチャは、常に 2 の累乗の大きさでなければならない)。
D3DPTEXTURECAPS_PROJECTED
D3DTTFF_PROJECTED テクスチャ トランスフォーム フォグをサポートする。この能力が適用されている場合、デバイスはトランスフォーム済みテクスチャ座標を最後のテクスチャ座標で分割する。
D3DPTEXTURECAPS_SQUAREONLY
テクスチャは、すべて正方形でなければならない。
D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE
テクスチャ インデックスは、補間実行前には、テクスチャ サイズに合わせてスケーリングされない。

このフラグは DirectX 7.0 で導入された。

D3DPTEXTURECAPS_TRANSPARENCY
テクスチャ透過性がサポートされる (現在の透過色でないこれらのテクセルのみ描画される)。
dwTextureFilterCaps
テクスチャフィルタリング能力。一般的なテクスチャフィルタリング フラグは、どのテクスチャフィルタリング モードをサポートするかを示し、D3DTSS_MAGFILTERD3DTSS_MINFILTER、または D3DTSS_MIPFILTER テクスチャステージ ステートに設定される。ステージ単位のフィルタリング能力は、IDirect3DDevice7 インターフェイスでマルチテクスチャ ブレンディングを実行する際にテクスチャ ステージでサポートするフィルタリング モードを示す。このメンバは、次に示す一般、およびステージ単位フィルタリング フラグを任意に組み合わせたものである。

一般的なテクスチャフィルタリング フラグ

D3DPTFILTERCAPS_LINEAR
バイリニア フィルタリング。最も近い座標を持つテクセルを選択した後、4 つの周辺テクセルを使用して重み付き平均を算出し、最終的な色を決定する。これは、拡大と縮小の両方で使用される。拡大または縮小のいずれかがサポートされている場合は、その両方がサポートされている必要がある。
D3DPTFILTERCAPS_LINEARMIPLINEAR
ミップマップ間のトライリニア補間。バイリニア フィルタリングを 2 つの最近接ミップマップ間に実行した後、2 色の間を線形的に補間して最終的な色を決定する。
D3DPTFILTERCAPS_LINEARMIPNEAREST
2 つのポイントサンプル ミップマップの間の線形補間。2 つの最も近いミップマップ レベルから最近接テクセルを選択した後、その 2 つのテクセル間に線形補間を実行する。
D3DPTFILTERCAPS_MIPLINEAR
バイリニア フィルタリングを結果に適用する、最近接ミップマッピング。最も近い座標を持つ適切なミップマップからテクセルを選択した後、4 つの周辺テクセルを使用して重み付き平均を算出し、最終的な色を決定する。
D3DPTFILTERCAPS_MIPNEAREST
最近接ミップマッピング。目的のピクセル値に最も近い座標を持つ適切なミップマップからテクセルを選択する。
D3DPTFILTERCAPS_NEAREST
ポイント サンプリング。希望のピクセル値に最も近い座標を持つテクセルを使用する。これは、拡大と縮小の両方で使用される。拡大または縮小のいずれかがサポートされている場合は、その両方がサポートされている必要がある。

ステージ単位テクスチャ フィルタリング フラグ

D3DPTFILTERCAPS_MAGFAFLATCUBIC
デバイスは、ステージ単位でのテクスチャ拡大のため平面キューブ フィルタリングをサポートする。平面キューブ拡大フィルタは、D3DTEXTUREMAGFILTER 列挙型のメンバ D3DTFG_FLATCUBIC で表される。
D3DPTFILTERCAPS_MAGFANISOTROPIC
デバイスは、ステージ単位でのテクスチャ拡大のため、異方性フィルタリングをサポートする。異方性拡大フィルタは、D3DTEXTUREMAGFILTER 列挙型のメンバ D3DTFG_ANISOTROPIC で表される。
D3DPTFILTERCAPS_MAGFGAUSSIANCUBIC
デバイスは、ステージ単位でのテクスチャ拡大のため、ガウス キューブ フィルタリングをサポートする。ガウス キューブ拡大フィルタは、D3DTEXTUREMAGFILTER 列挙型のメンバ D3DTFG_GAUSSIANCUBIC で表される。
D3DPTFILTERCAPS_MAGFLINEAR
デバイスは、ステージ単位でのテクスチャ拡大のため、バイリニア補間フィルタリングをサポートする。バイリニア補間拡大フィルタは、D3DTEXTUREMAGFILTER 列挙型のメンバ D3DTFG_LINEAR で表される。
D3DPTFILTERCAPS_MAGFPOINT
デバイスは、ステージ単位でのテクスチャ拡大のため、ポイントサンプル フィルタリングをサポートする。ポイントサンプル拡大フィルタは、D3DTEXTUREMAGFILTER 列挙型のメンバ D3DTFG_POINT で表される。
D3DPTFILTERCAPS_MINFANISOTROPIC
デバイスは、ステージ単位でのテクスチャ縮小のため、異方性フィルタリングをサポートする。異方性縮小フィルタは、D3DTEXTUREMINFILTER 列挙型の D3DTFN_ANISOTROPIC メンバで表される。
D3DPTFILTERCAPS_MINFLINEAR
デバイスは、ステージ単位でのテクスチャ縮小のため、バイリニア補間フィルタリングをサポートする。バイリニア補間縮小フィルタは、D3DTEXTUREMINFILTER 列挙型のメンバ D3DTFN_LINEAR で表される。
D3DPTFILTERCAPS_MINFPOINT
デバイスは、ステージ単位でのテクスチャ縮小のため、ポイントサンプル フィルタリングをサポートする。ポイントサンプル縮小フィルタは、D3DTEXTUREMINFILTER 列挙型のメンバ D3DTFN_POINT で表される。
D3DPTFILTERCAPS_MIPFLINEAR
デバイスは、ステージ単位でのミップマップのため、トライリニア補間フィルタリングをサポートする。トライリニア補間ミップマップ フィルタは、D3DTEXTUREMIPFILTER 列挙型のメンバ D3DTFP_LINEAR で表される。
D3DPTFILTERCAPS_MIPFPOINT
デバイスは、ステージ単位でのミップマップのため、ポイント サンプル フィルタリングをサポートする。ポイント サンプル ミップマップ フィルタは、D3DTEXTUREMIPFILTER 列挙型のメンバ D3DTFP_POINT で表される。
dwTextureBlendCaps
使用しない。

旧リリースの DirectX では、このメンバに、現在は廃止されている D3DRENDERSTATE_TEXTUREMAPBLEND レンダリング ステートによるデバイスのテクスチャブレンディング適用能力についての情報が格納された。DirectX 7.0 デバイスのテクスチャブレンディング能力についての情報は、D3DDEVICEDESC7 構造体の dwTextureOpCaps メンバで公開されている。

dwTextureAddressCaps
テクスチャのアドレス能力。このメンバは、次の値を 1 つ以上設定できる。
D3DPTADDRESSCAPS_BORDER
デバイスは、D3DRENDERSTATE_BORDERCOLOR テクスチャ ステージ ステートで指定される境界色を [0.0, 1.0] 範囲外の座標に設定できる。
D3DPTADDRESSCAPS_CLAMP
デバイスは、テクスチャの固定が可能である。
D3DPTADDRESSCAPS_INDEPENDENTUV
デバイスは、テクスチャの U 座標と V 座標のテクスチャアドレッシング モードを分離できる。この能力は、D3DTSS_ADDRESSU および D3DTSS_ADDRESSV レンダリング ステート値に対応する。

このフラグは DirectX 5.0 で導入された。

D3DPTADDRESSCAPS_MIRROR
デバイスは、テクスチャの反転が可能である。
D3DPTADDRESSCAPS_WRAP
デバイスは、テクスチャの張り付けが可能である。
dwStippleWidth および dwStippleHeight
サポートされた点描の最大幅と高さ (最高 32×32 まで)。

動作環境

  Windows NT/2000 :Windows NT 4.0 SP3 またはそれ以降が必要。
  Windows 95/98 : Windows 95 以降が必要。Windows 95 用に再配布可能な形で使用可能。
  バージョン : DirectX 2.0 以降が必要。
  ヘッダー : d3dcaps.h で宣言。