D3D10_FILTER
テクスチャー サンプリング時のフィルタリング オプションです。
typedef enum D3D10_FILTER
{
D3D10_FILTER_MIN_MAG_MIP_POINT = 0,
D3D10_FILTER_MIN_MAG_POINT_MIP_LINEAR = 0x1,
D3D10_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x4,
D3D10_FILTER_MIN_POINT_MAG_MIP_LINEAR = 0x5,
D3D10_FILTER_MIN_LINEAR_MAG_MIP_POINT = 0x10,
D3D10_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x11,
D3D10_FILTER_MIN_MAG_LINEAR_MIP_POINT = 0x14,
D3D10_FILTER_MIN_MAG_MIP_LINEAR = 0x15,
D3D10_FILTER_ANISOTROPIC = 0x55,
D3D10_FILTER_COMPARISON_MIN_MAG_MIP_POINT = 0x80,
D3D10_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR = 0x81,
D3D10_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x84,
D3D10_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR = 0x85,
D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT = 0x90,
D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x91,
D3D10_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT = 0x94,
D3D10_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR = 0x95,
D3D10_FILTER_COMPARISON_ANISOTROPIC = 0xd5,
D3D10_FILTER_TEXT_1BIT = 0x80000000,
} D3D10_FILTER;
定数
- D3D10_FILTER_MIN_MAG_MIP_POINT
縮小、拡大、およびミップレベルのサンプリングでポイント サンプリングを使用します。 - D3D10_FILTER_MIN_MAG_POINT_MIP_LINEAR
縮小、拡大にポイント サンプリングを使用し、ミップレベルのサンプリングに線形補間を使用します。 - D3D10_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT
縮小にポイント サンプリングを使用し、拡大に線形補間を使用し、ミップレベルのサンプリングにポイント サンプリングを使用します。 - D3D10_FILTER_MIN_POINT_MAG_MIP_LINEAR
縮小にポイント サンプリングを使用し、拡大およびミップレベルのサンプリングに線形補間を使用します。 - D3D10_FILTER_MIN_LINEAR_MAG_MIP_POINT
縮小に線形補間を使用し、拡大およびミップレベルのサンプリングにポイント サンプリングを使用します。 - D3D10_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR
縮小に線形補間を使用し、拡大にポイント サンプリングを使用し、ミップレベルのサンプリングに線形補間を使用します。 - D3D10_FILTER_MIN_MAG_LINEAR_MIP_POINT
縮小および拡大に線形補間を使用し、ミップレベルのサンプリングにポイント サンプリングを使用します。 - D3D10_FILTER_MIN_MAG_MIP_LINEAR
縮小、拡大、およびミップレベルのサンプリングに線形補間を使用します。 - D3D10_FILTER_ANISOTROPIC
縮小、拡大、およびミップレベルのサンプリングに異方性補間を使用します。 - D3D10_FILTER_COMPARISON_MIN_MAG_MIP_POINT
縮小、拡大、およびミップレベルのサンプリングでポイント サンプリングを使用します。結果を比較値と比較します。 - D3D10_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR
縮小、拡大にポイント サンプリングを使用し、ミップレベルのサンプリングに線形補間を使用します。結果を比較値と比較します。 - D3D10_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT
縮小にポイント サンプリングを使用し、拡大に線形補間を使用し、ミップレベルのサンプリングにポイント サンプリングを使用します。結果を比較値と比較します。 - D3D10_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR
縮小にポイント サンプリングを使用し、拡大およびミップレベルのサンプリングに線形補間を使用します。結果を比較値と比較します。 - D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT
縮小に線形補間を使用し、拡大およびミップレベルのサンプリングにポイント サンプリングを使用します。結果を比較値と比較します。 - D3D10_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR
縮小に線形補間を使用し、拡大にポイント サンプリングを使用し、ミップレベルのサンプリングに線形補間を使用します。結果を比較値と比較します。 - D3D10_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT
縮小および拡大に線形補間を使用し、ミップレベルのサンプリングにポイント サンプリングを使用します。結果を比較値と比較します。 - D3D10_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR
縮小、拡大、およびミップレベルのサンプリングに線形補間を使用します。結果を比較値と比較します。 - D3D10_FILTER_COMPARISON_ANISOTROPIC
縮小、拡大、およびミップレベルのサンプリングに異方性補間を使用します。結果を比較値と比較します。 - D3D10_FILTER_TEXT_1BIT
R1_UNORM フォーマットのテクスチャーを持つピクセル シェーダーで使用します。
解説
テクスチャーのサンプリング時に、1 つまたは複数のテクセルが読み込まれて結合され (フィルタリングを呼び出します)、単一の値が生成されます。ポイント サンプリングでは 1 つのテクセルが読み込まれるのに対し、線形サンプリングでは 2 つのテクセル (エンドポイント) が読み込まれ、エンドポイント間で第 3 の値を線形補間します。
HLSL テクスチャー サンプリング関数は、テクスチャー サンプリング時の比較フィルタリングもサポートしています。比較フィルタリングでは、サンプリングされた各テクセルが比較値と比較されます。ブール値の結果は、通常のテクスチャー フィルタリングの場合と同じ方法でブレンドされます。
テクスチャー フィルタリングのみを実装する HLSL 組み込みのテクスチャー サンプリング関数、またはテクスチャー フィルタリングと比較フィルタリングを併用する比較関数が使用できます。
テクスチャー サンプリング関数 | 比較フィルタリングを使用するテクスチャー サンプリング関数 |
---|---|
sample | samplecmp または samplecmplevelzero |
比較フィルターは、R32_FLOAT_X8X24_TYPELESS、R32_FLOAT、R24_UNORM_X8_TYPELESS、または R16_UNORM のいずれかのフォーマットのテクスチャーでのみ機能します。
要件
ヘッダー: D3D10.h 宣言
ライブラリ: D3D10.lib 内容