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_MONO と D3DCOLOR_RGB 色モデルのそれぞれについて、カラー グーロー シェーディングをサポートできる。これらのモードでは、プリミティブに対する色成分は頂点で与えられ、ほかの色成分と共に面に沿って補間される。モノクロ ライティング モデルでは、カラーの青成分のみ補間され、RGB ライティング モデルでは赤、緑、および青成分が補間される。
- D3DPSHADECAPS_COLORGOURAUDRGB
- デバイスは、D3DCOLOR_MONO と D3DCOLOR_RGB 色モデルのそれぞれについて、カラー グーロー シェーディングをサポートできる。これらのモードでは、プリミティブに対する色成分は頂点で与えられ、ほかの色成分と共に面に沿って補間される。モノクロ ライティング モデルでは、カラーの青成分のみ補間され、RGB ライティング モデルでは赤、緑、および青成分が補間される。
- D3DPSHADECAPS_COLORPHONGMONO
- デバイスは、D3DCOLOR_MONO と D3DCOLOR_RGB 色モデルのそれぞれについて、カラー フォン シェーディングをサポートできる。これらのモードでは、頂点パラメータはピクセル単位に再評価される。光源エフェクトは、RGB モデルの場合は赤、緑、青成分に適用され、モノクロ モデルの場合は青成分にのみ適用される。フォン シェーディングは、現在サポートされていない。
- D3DPSHADECAPS_COLORPHONGRGB
- デバイスは、D3DCOLOR_MONO と D3DCOLOR_RGB 色モデルのそれぞれについて、カラー フォン シェーディングをサポートできる。これらのモードでは、頂点パラメータはピクセル単位に再評価される。光源エフェクトは、RGB モデルの場合は赤、緑、青成分に適用され、モノクロ モデルの場合は青成分にのみ適用される。フォン シェーディングは、現在サポートされていない。
- D3DPSHADECAPS_FOGFLAT
- デバイスは、フラット、グーロー、フォン シェーディング モードでフォグをサポートできる。フォン シェーディングは、現在サポートされていない。
- D3DPSHADECAPS_FOGGOURAUD
- デバイスは、フラット、グーロー、フォン シェーディング モードでフォグをサポートできる。フォン シェーディングは、現在サポートされていない。
- D3DPSHADECAPS_FOGPHONG
- デバイスは、フラット、グーロー、フォン シェーディング モードでフォグをサポートできる。フォン シェーディングは、現在サポートされていない。
- D3DPSHADECAPS_SPECULARFLATMONO
- デバイスは、D3DCOLOR_MONO と D3DCOLOR_RGB 色モデルのフラット シェーディングのスペキュラ ハイライトをサポートできる。
- D3DPSHADECAPS_SPECULARFLATRGB
- デバイスは、D3DCOLOR_MONO と D3DCOLOR_RGB 色モデルのフラット シェーディングのスペキュラ ハイライトをサポートできる。
- D3DPSHADECAPS_SPECULARGOURAUDMONO
- デバイスは、D3DCOLOR_MONO および D3DCOLOR_RGB 色モデルのグーロー シェーディングのスペキュラ ハイライトをサポートできる。
- D3DPSHADECAPS_SPECULARGOURAUDRGB
- デバイスは、D3DCOLOR_MONO および D3DCOLOR_RGB 色モデルのグーロー シェーディングのスペキュラ ハイライトをサポートできる。
- D3DPSHADECAPS_SPECULARPHONGMONO
- デバイスは、D3DCOLOR_MONO および D3DCOLOR_RGB 色モデルのフォン シェーディングのスペキュラ ハイライトをサポートできる。フォン シェーディングは、現在サポートされていない。
- D3DPSHADECAPS_SPECULARPHONGRGB
- デバイスは、D3DCOLOR_MONO と D3DCOLOR_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 の累乗でないテクスチャの使用をサポートする。以下の条件をすべて満たす場合、この能力を公開するデバイスではこのようなテクスチャを使用できる。
- テクスチャ ステージのテクスチャ アドレッシング モードが D3DTADDRESS_CLAMP に設定されている。
- テクスチャ ステージのテクスチャ ラッピングが無効になっている (D3DRENDERSTATE_WRAPn を 0 に設定)。
- ミップマッピングが使用されていない (ミップマップ化テクスチャの大きさは 2 の累乗でなければならない)。
- D3DPTEXTURECAPS_PERSPECTIVE
- パースペクティブ補正がサポートされる。
- D3DPTEXTURECAPS_POW2
- ミップマップ化されていないすべてのテクスチャの幅および高さは 2 の累乗で指定する必要がある (ミップマップ化テクスチャは、常に 2 の累乗の大きさでなければならない)。
- D3DPTEXTURECAPS_PROJECTED
- D3DTTFF_PROJECTED テクスチャ トランスフォーム フォグをサポートする。この能力が適用されている場合、デバイスはトランスフォーム済みテクスチャ座標を最後のテクスチャ座標で分割する。
- D3DPTEXTURECAPS_SQUAREONLY
- テクスチャは、すべて正方形でなければならない。
- D3DPTEXTURECAPS_TEXREPEATNOTSCALEDBYSIZE
- テクスチャ インデックスは、補間実行前には、テクスチャ サイズに合わせてスケーリングされない。
このフラグは DirectX 7.0 で導入された。
- D3DPTEXTURECAPS_TRANSPARENCY
- テクスチャ透過性がサポートされる (現在の透過色でないこれらのテクセルのみ描画される)。
- dwTextureFilterCaps
- テクスチャフィルタリング能力。一般的なテクスチャフィルタリング フラグは、どのテクスチャフィルタリング モードをサポートするかを示し、D3DTSS_MAGFILTER、D3DTSS_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 で宣言。