D3DX_FILTER

D3DX_FILTER

処理するテクスチャ内のチャンネルを指定するには、次のフラグを使う。

#define 説明
D3DX_FILTER_NONE スケーリングまたはフィルタリングを行わない。ソース イメージの境界の外側にあるピクセルは透明な黒であると見なされる。
D3DX_FILTER_POINT 各転送先ピクセルは、最も近いピクセルをソース イメージからサンプリングすることにより計算される。
D3DX_FILTER_LINEAR 各転送先ピクセルは、最も近い 4 つのピクセルをソース イメージからサンプリングすることにより計算される。このフィルタは、両軸のスケールが 2 未満の場合に最も効率よく機能する。
D3DX_FILTER_TRIANGLE ソース イメージ内の各ピクセルが、転送先イメージに等しく反映される。これは、最も処理に時間のかかるフィルタである。
D3DX_FILTER_BOX 各ピクセルは、ソース イメージ内の 2 × 2 (× 2) のサイズのボックスに含まれるピクセルの平均を算出することにより計算される。このフィルタは、ミップマップを使用する場合のように、転送先のディメンジョンがソースの半分の場合のみ機能する。
D3DX_FILTER_MIRROR_U u 軸のテクスチャのエッジから離れたピクセルを、ラッピングせずにミラーリングするよう指定する。
D3DX_FILTER_MIRROR_V v 軸のテクスチャのエッジから離れたピクセルを、ラッピングせずにミラーリングするよう指定する。
D3DX_FILTER_MIRROR_W w 軸のテクスチャのエッジから離れているピクセルを、ラッピングせずにミラーリングするよう指定する。
D3DX_FILTER_MIRROR このフラグを指定すると、D3DX_FILTER_MIRROR_U、D3DX_FILTER_MIRROR_V、および D3DX_FILTER_MIRROR_W フラグを指定したことになる。
D3DX_FILTER_DITHER 結果として作成されたイメージを、4 × 4 の順序付きディザ アルゴリズムを使ってディザリングする必要がある。
D3DX_FILTER_SRGB_IN 入力データは、sRGB (ガンマ 2.2) の色空間にある。
D3DX_FILTER_SRGB_OUT 出力データは、sRGB (ガンマ 2.2) の色空間にある。
D3DX_FILTER_SRGB D3DX_FILTER_SRGB_IN | D3DX_FILTER_SRGB_OUT を指定した場合と同様。

有効なそれぞれのフィルタに、次のフラグの 1 つが含まれていなければならない。D3DX_FILTER_NONE、D3DX_FILTER_POINT、D3DX_FILTER_LINEAR、D3DX_FILTER_TRIANGLE、または D3DX_FILTER_BOX。さらに、論理和演算子を使用して、有効なフィルタと共に次に示すオプションのフラグを 0 個あるいは複数指定できる。D3DX_FILTER_MIRROR_U、D3DX_FILTER_MIRROR_V、D3DX_FILTER_MIRROR_W、D3DX_FILTER_MIRROR、D3DX_FILTER_DITHER、D3DX_FILTER_SRGB_IN、D3DX_FILTER_SRGB_OUT、または D3DX_FILTER_SRGB。

このパラメータに D3DX_DEFAULT を指定することは、通常、D3DX_FILTER_TRIANGLE | D3DX_FILTER_DITHER を指定することと等しい。ただし、D3DX_DEFAULT は、フィルタを使っているメソッドに応じて意味が異なる。次に例を示す。

  • D3DXCreateTextureFromFileEx を使っている場合、D3DX_DEFAULT は D3DX_FILTER_TRIANGLE | D3DX_FILTER_DITHER にマッピングされる。
  • D3DXFilterTexture を使っている場合、テクスチャ サイズが 2 の累乗であれば D3DX_DEFAULT は D3DX_FILTER_BOX にマッピングされ、そうでなければ D3DX_FILTER_BOX | D3DX_FILTER_DITHER にマッピングされる。

各メソッドを参照し、D3DX_DEFAULT フィルタのマッピングについての情報を確認すること。

定数情報

ヘッダー d3dx9tex.h
最低限のオペレーティング システム Windows 98