D3D12_FILTER列挙 (d3d12.h)
テクスチャ サンプリング中のフィルター オプションを指定します。
構文
typedef enum D3D12_FILTER {
D3D12_FILTER_MIN_MAG_MIP_POINT = 0,
D3D12_FILTER_MIN_MAG_POINT_MIP_LINEAR = 0x1,
D3D12_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x4,
D3D12_FILTER_MIN_POINT_MAG_MIP_LINEAR = 0x5,
D3D12_FILTER_MIN_LINEAR_MAG_MIP_POINT = 0x10,
D3D12_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x11,
D3D12_FILTER_MIN_MAG_LINEAR_MIP_POINT = 0x14,
D3D12_FILTER_MIN_MAG_MIP_LINEAR = 0x15,
D3D12_FILTER_MIN_MAG_ANISOTROPIC_MIP_POINT,
D3D12_FILTER_ANISOTROPIC = 0x55,
D3D12_FILTER_COMPARISON_MIN_MAG_MIP_POINT = 0x80,
D3D12_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR = 0x81,
D3D12_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x84,
D3D12_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR = 0x85,
D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT = 0x90,
D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x91,
D3D12_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT = 0x94,
D3D12_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR = 0x95,
D3D12_FILTER_COMPARISON_MIN_MAG_ANISOTROPIC_MIP_POINT,
D3D12_FILTER_COMPARISON_ANISOTROPIC = 0xd5,
D3D12_FILTER_MINIMUM_MIN_MAG_MIP_POINT = 0x100,
D3D12_FILTER_MINIMUM_MIN_MAG_POINT_MIP_LINEAR = 0x101,
D3D12_FILTER_MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x104,
D3D12_FILTER_MINIMUM_MIN_POINT_MAG_MIP_LINEAR = 0x105,
D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_MIP_POINT = 0x110,
D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x111,
D3D12_FILTER_MINIMUM_MIN_MAG_LINEAR_MIP_POINT = 0x114,
D3D12_FILTER_MINIMUM_MIN_MAG_MIP_LINEAR = 0x115,
D3D12_FILTER_MINIMUM_MIN_MAG_ANISOTROPIC_MIP_POINT,
D3D12_FILTER_MINIMUM_ANISOTROPIC = 0x155,
D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_POINT = 0x180,
D3D12_FILTER_MAXIMUM_MIN_MAG_POINT_MIP_LINEAR = 0x181,
D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 0x184,
D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_MIP_LINEAR = 0x185,
D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_MIP_POINT = 0x190,
D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 0x191,
D3D12_FILTER_MAXIMUM_MIN_MAG_LINEAR_MIP_POINT = 0x194,
D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR = 0x195,
D3D12_FILTER_MAXIMUM_MIN_MAG_ANISOTROPIC_MIP_POINT,
D3D12_FILTER_MAXIMUM_ANISOTROPIC = 0x1d5
} ;
定数
D3D12_FILTER_MIN_MAG_MIP_POINT 値: 0 縮小、倍率、ミップレベルのサンプリングにはポイント サンプリングを使用します。 |
D3D12_FILTER_MIN_MAG_POINT_MIP_LINEAR 値: 0x1 縮小と倍率にはポイントサンプリングを使用します。mip レベルのサンプリングには線形補間を使用します。 |
D3D12_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT 値: 0x4 縮小にはポイント サンプリングを使用します。倍率に線形補間を使用する。ポイント サンプリングを使用してミップ レベルのサンプリングを行います。 |
D3D12_FILTER_MIN_POINT_MAG_MIP_LINEAR 値: 0x5 縮小にはポイント サンプリングを使用します。は、拡大とミップレベルのサンプリングに線形補間を使用します。 |
D3D12_FILTER_MIN_LINEAR_MAG_MIP_POINT 値: 0x10 縮小には線形補間を使用します。倍率とミップレベルのサンプリングにはポイントサンプリングを使用します。 |
D3D12_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR 値: 0x11 縮小には線形補間を使用します。倍率にポイントサンプリングを使用する。mip レベルのサンプリングには線形補間を使用します。 |
D3D12_FILTER_MIN_MAG_LINEAR_MIP_POINT 値: 0x14 縮小と倍率には線形補間を使用します。ポイント サンプリングを使用してミップ レベルのサンプリングを行います。 |
D3D12_FILTER_MIN_MAG_MIP_LINEAR 値: 0x15 縮小、倍率、ミップレベルのサンプリングには線形補間を使用します。 |
D3D12_FILTER_ANISOTROPIC 値: 0x55 縮小、倍率、ミップレベルサンプリングには異方性補間を使用します。 |
D3D12_FILTER_COMPARISON_MIN_MAG_MIP_POINT 値: 0x80 縮小、倍率、ミップレベルのサンプリングにはポイント サンプリングを使用します。 結果を比較値と比較します。 |
D3D12_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR 値: 0x81 縮小と倍率にはポイントサンプリングを使用します。mip レベルのサンプリングには線形補間を使用します。 結果を比較値と比較します。 |
D3D12_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT 値: 0x84 縮小にはポイント サンプリングを使用します。倍率に線形補間を使用する。ポイント サンプリングを使用してミップ レベルのサンプリングを行います。 結果を比較値と比較します。 |
D3D12_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR 値: 0x85 縮小にはポイント サンプリングを使用します。は、拡大とミップレベルのサンプリングに線形補間を使用します。 結果を比較値と比較します。 |
D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT 値: 0x90 縮小には線形補間を使用します。倍率とミップレベルのサンプリングにはポイントサンプリングを使用します。 結果を比較値と比較します。 |
D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR 値: 0x91 縮小には線形補間を使用します。倍率にポイントサンプリングを使用する。mip レベルのサンプリングには線形補間を使用します。 結果を比較値と比較します。 |
D3D12_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT 値: 0x94 縮小と倍率には線形補間を使用します。ポイント サンプリングを使用してミップ レベルのサンプリングを行います。 結果を比較値と比較します。 |
D3D12_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR 値: 0x95 縮小、倍率、ミップレベルのサンプリングには線形補間を使用します。 結果を比較値と比較します。 |
D3D12_FILTER_COMPARISON_ANISOTROPIC 値: 0xd5 縮小、倍率、ミップレベルサンプリングには異方性補間を使用します。 結果を比較値と比較します。 |
D3D12_FILTER_MINIMUM_MIN_MAG_MIP_POINT 値: 0x100 D3D12_FILTER_MIN_MAG_MIP_POINTと同じテクセル セットをフェッチし、フィルター処理する代わりに、テクセルの最小値を返します。 フィルター処理中に 0 の重み付けされたテクセルは、最小値にはカウントされません。 このフィルターの種類のサポートは、D3D11_FEATURE_DATA_D3D11_OPTIONS1構造体の MinMaxFiltering メンバーからクエリを実行できます。 |
D3D12_FILTER_MINIMUM_MIN_MAG_POINT_MIP_LINEAR 値: 0x101 D3D12_FILTER_MIN_MAG_POINT_MIP_LINEARと同じテクセル セットをフェッチし、フィルター処理する代わりに、テクセルの最小値を返します。 フィルター処理中に 0 の重み付けされたテクセルは、最小値にはカウントされません。 このフィルターの種類のサポートは、D3D11_FEATURE_DATA_D3D11_OPTIONS1構造体の MinMaxFiltering メンバーからクエリを実行できます。 |
D3D12_FILTER_MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT 値: 0x104 D3D12_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINTと同じテクセル セットをフェッチし、フィルター処理する代わりに、テクセルの最小値を返します。 フィルター処理中に 0 の重み付けされたテクセルは、最小値にはカウントされません。 このフィルターの種類のサポートは、D3D11_FEATURE_DATA_D3D11_OPTIONS1構造体の MinMaxFiltering メンバーからクエリを実行できます。 |
D3D12_FILTER_MINIMUM_MIN_POINT_MAG_MIP_LINEAR 値: 0x105 D3D12_FILTER_MIN_POINT_MAG_MIP_LINEARと同じテクセル セットをフェッチし、フィルター処理する代わりに、テクセルの最小値を返します。 フィルター処理中に 0 の重み付けされたテクセルは、最小値にはカウントされません。 このフィルターの種類のサポートは、D3D11_FEATURE_DATA_D3D11_OPTIONS1構造体の MinMaxFiltering メンバーからクエリを実行できます。 |
D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_MIP_POINT 値: 0x110 D3D12_FILTER_MIN_LINEAR_MAG_MIP_POINTと同じテクセル セットをフェッチし、フィルター処理する代わりに、テクセルの最小値を返します。 フィルター処理中に 0 の重み付けされたテクセルは、最小値にはカウントされません。 このフィルターの種類のサポートは、D3D11_FEATURE_DATA_D3D11_OPTIONS1構造体の MinMaxFiltering メンバーからクエリを実行できます。 |
D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR 値: 0x111 D3D12_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEARと同じテクセルセットをフェッチし、フィルター処理するのではなく、テクセルの最小値を返します。 フィルター処理中に 0 の重み付けされたテクセルは、最小値にはカウントされません。 このフィルターの種類のサポートは、D3D11_FEATURE_DATA_D3D11_OPTIONS1構造体の MinMaxFiltering メンバーからクエリを実行できます。 |
D3D12_FILTER_MINIMUM_MIN_MAG_LINEAR_MIP_POINT 値: 0x114 D3D12_FILTER_MIN_MAG_LINEAR_MIP_POINTと同じテクセル セットをフェッチし、フィルター処理する代わりに、テクセルの最小値を返します。 フィルター処理中に 0 の重み付けされたテクセルは、最小値にはカウントされません。 このフィルターの種類のサポートは、D3D11_FEATURE_DATA_D3D11_OPTIONS1構造体の MinMaxFiltering メンバーからクエリを実行できます。 |
D3D12_FILTER_MINIMUM_MIN_MAG_MIP_LINEAR 値: 0x115 D3D12_FILTER_MIN_MAG_MIP_LINEARと同じテクセル セットをフェッチし、フィルター処理する代わりに、テクセルの最小値を返します。 フィルター処理中に 0 の重み付けされたテクセルは、最小値にはカウントされません。 このフィルターの種類のサポートは、D3D11_FEATURE_DATA_D3D11_OPTIONS1構造体の MinMaxFiltering メンバーからクエリを実行できます。 |
D3D12_FILTER_MINIMUM_ANISOTROPIC 値: 0x155 D3D12_FILTER_ANISOTROPICと同じテクセル セットをフェッチし、フィルター処理する代わりに、テクセルの最小値を返します。 フィルター処理中に 0 の重み付けされたテクセルは、最小値にはカウントされません。 このフィルターの種類のサポートは、D3D11_FEATURE_DATA_D3D11_OPTIONS1構造体の MinMaxFiltering メンバーからクエリを実行できます。 |
D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_POINT 値: 0x180 D3D12_FILTER_MIN_MAG_MIP_POINTと同じテクセル セットをフェッチし、フィルター処理するのではなく、テクセルの最大値を返します。 フィルター処理中に 0 の重み付けされたテクセルは、最大値にはカウントされません。 このフィルターの種類のサポートは、D3D11_FEATURE_DATA_D3D11_OPTIONS1構造体の MinMaxFiltering メンバーからクエリを実行できます。 |
D3D12_FILTER_MAXIMUM_MIN_MAG_POINT_MIP_LINEAR 値: 0x181 D3D12_FILTER_MIN_MAG_POINT_MIP_LINEARと同じテクセル セットをフェッチし、フィルター処理するのではなく、テクセルの最大値を返します。 フィルター処理中に 0 の重み付けされたテクセルは、最大値にはカウントされません。 このフィルターの種類のサポートは、D3D11_FEATURE_DATA_D3D11_OPTIONS1構造体の MinMaxFiltering メンバーからクエリを実行できます。 |
D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT 値: 0x184 D3D12_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINTと同じテクセル セットをフェッチし、フィルター処理するのではなく、テクセルの最大値を返します。 フィルター処理中に 0 の重み付けされたテクセルは、最大値にはカウントされません。 このフィルターの種類のサポートは、D3D11_FEATURE_DATA_D3D11_OPTIONS1構造体の MinMaxFiltering メンバーからクエリを実行できます。 |
D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_MIP_LINEAR 値: 0x185 D3D12_FILTER_MIN_POINT_MAG_MIP_LINEARと同じテクセル セットをフェッチし、フィルター処理する代わりに、テクセルの最大値を返します。 フィルター処理中に重み付けされた 0 のテクセルは、最大値にはカウントされません。 このフィルターの種類のサポートは、D3D11_FEATURE_DATA_D3D11_OPTIONS1構造体の MinMaxFiltering メンバーからクエリを実行できます。 |
D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_MIP_POINT 値: 0x190 D3D12_FILTER_MIN_LINEAR_MAG_MIP_POINTと同じテクセル のセットをフェッチし、フィルター処理する代わりに、テクセルの最大値を返します。 フィルター処理中に重み付けされた 0 のテクセルは、最大値にはカウントされません。 このフィルターの種類のサポートは、D3D11_FEATURE_DATA_D3D11_OPTIONS1構造体の MinMaxFiltering メンバーからクエリを実行できます。 |
D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR 値: 0x191 D3D12_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEARと同じテクセルのセットをフェッチし、フィルター処理する代わりに、テクセルの最大値を返します。 フィルター処理中に重み付けされた 0 のテクセルは、最大値にはカウントされません。 このフィルターの種類のサポートは、D3D11_FEATURE_DATA_D3D11_OPTIONS1構造体の MinMaxFiltering メンバーからクエリを実行できます。 |
D3D12_FILTER_MAXIMUM_MIN_MAG_LINEAR_MIP_POINT 値: 0x194 D3D12_FILTER_MIN_MAG_LINEAR_MIP_POINTと同じテクセル のセットをフェッチし、フィルター処理する代わりに、テクセルの最大値を返します。 フィルター処理中に重み付けされた 0 のテクセルは、最大値にはカウントされません。 このフィルターの種類のサポートは、D3D11_FEATURE_DATA_D3D11_OPTIONS1構造体の MinMaxFiltering メンバーからクエリを実行できます。 |
D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR 値: 0x195 D3D12_FILTER_MIN_MAG_MIP_LINEARと同じテクセルのセットをフェッチし、フィルター処理する代わりに、テクセルの最大値を返します。 フィルター処理中に重み付けされた 0 のテクセルは、最大値にはカウントされません。 このフィルターの種類のサポートは、D3D11_FEATURE_DATA_D3D11_OPTIONS1構造体の MinMaxFiltering メンバーからクエリを実行できます。 |
D3D12_FILTER_MAXIMUM_ANISOTROPIC 値: 0x1d5 D3D12_FILTER_ANISOTROPICと同じテクセル のセットをフェッチし、フィルター処理する代わりに、テクセルの最大値を返します。 フィルター処理中に重み付けされた 0 のテクセルは、最大値にはカウントされません。 このフィルターの種類のサポートは、D3D11_FEATURE_DATA_D3D11_OPTIONS1構造体の MinMaxFiltering メンバーからクエリを実行できます。 |
解説
この列挙型は、 D3D12_SAMPLER_DESC 構造体によって使用されます。
メモ min フィルターと mag フィルターの異なるフィルターの種類を使用する場合、拡大または縮小のどちらが行われるかの選択があいまいな場合に、未定義の動作が発生します。 この未定義の動作を防ぐには、min と mag の両方で同様のフィルター操作を使用するフィルター モードを使用します (または、問題を回避する異方性フィルター処理を使用します)。
Microsoft High Level Shader Language (HLSL) テクスチャ サンプリング関数では、テクスチャ サンプリング中の比較フィルター処理もサポートされます。 比較フィルター処理では、サンプリングされた各テクセルが比較値と比較されます。 ブール値の結果は、通常のテクスチャ フィルター処理と同じ方法でブレンドされます。
テクスチャ フィルタリングのみを実装する HLSL 組み込みテクスチャ サンプリング関数、または比較フィルター処理でテクスチャ フィルタリングを使用するコンパニオン関数を使用できます。
また、次の定義にも注意してください。
#define D3D12_FILTER_REDUCTION_TYPE_MASK ( 0x3 )
#define D3D12_FILTER_REDUCTION_TYPE_SHIFT ( 7 )
#define D3D12_FILTER_TYPE_MASK ( 0x3 )
#define D3D12_MIN_FILTER_SHIFT ( 4 )
#define D3D12_MAG_FILTER_SHIFT ( 2 )
#define D3D12_MIP_FILTER_SHIFT ( 0 )
#define D3D12_ANISOTROPIC_FILTERING_BIT ( 0x40 )
#define D3D12_ENCODE_BASIC_FILTER( min, mag, mip, reduction ) \
( ( D3D12_FILTER ) ( \
( ( ( min ) & D3D12_FILTER_TYPE_MASK ) << D3D12_MIN_FILTER_SHIFT ) | \
( ( ( mag ) & D3D12_FILTER_TYPE_MASK ) << D3D12_MAG_FILTER_SHIFT ) | \
( ( ( mip ) & D3D12_FILTER_TYPE_MASK ) << D3D12_MIP_FILTER_SHIFT ) | \
( ( ( reduction ) & D3D12_FILTER_REDUCTION_TYPE_MASK ) << D3D12_FILTER_REDUCTION_TYPE_SHIFT ) ) )
#define D3D12_ENCODE_ANISOTROPIC_FILTER( reduction ) \
( ( D3D12_FILTER ) ( \
D3D12_ANISOTROPIC_FILTERING_BIT | \
D3D12_ENCODE_BASIC_FILTER( D3D12_FILTER_TYPE_LINEAR, \
D3D12_FILTER_TYPE_LINEAR, \
D3D12_FILTER_TYPE_LINEAR, \
reduction ) ) )
#define D3D12_DECODE_MIN_FILTER( D3D12Filter ) \
( ( D3D12_FILTER_TYPE ) \
( ( ( D3D12Filter ) >> D3D12_MIN_FILTER_SHIFT ) & D3D12_FILTER_TYPE_MASK ) )
#define D3D12_DECODE_MAG_FILTER( D3D12Filter ) \
( ( D3D12_FILTER_TYPE ) \
( ( ( D3D12Filter ) >> D3D12_MAG_FILTER_SHIFT ) & D3D12_FILTER_TYPE_MASK ) )
#define D3D12_DECODE_MIP_FILTER( D3D12Filter ) \
( ( D3D12_FILTER_TYPE ) \
( ( ( D3D12Filter ) >> D3D12_MIP_FILTER_SHIFT ) & D3D12_FILTER_TYPE_MASK ) )
#define D3D12_DECODE_FILTER_REDUCTION( D3D12Filter ) \
( ( D3D12_FILTER_REDUCTION_TYPE ) \
( ( ( D3D12Filter ) >> D3D12_FILTER_REDUCTION_TYPE_SHIFT ) & D3D12_FILTER_REDUCTION_TYPE_MASK ) )
#define D3D12_DECODE_IS_COMPARISON_FILTER( D3D12Filter ) \
( D3D12_DECODE_FILTER_REDUCTION( D3D12Filter ) == D3D12_FILTER_REDUCTION_TYPE_COMPARISON )
#define D3D12_DECODE_IS_ANISOTROPIC_FILTER( D3D12Filter ) \
( ( ( D3D12Filter ) & D3D12_ANISOTROPIC_FILTERING_BIT ) && \
( D3D12_FILTER_TYPE_LINEAR == D3D12_DECODE_MIN_FILTER( D3D12Filter ) ) && \
( D3D12_FILTER_TYPE_LINEAR == D3D12_DECODE_MAG_FILTER( D3D12Filter ) ) && \
( D3D12_FILTER_TYPE_LINEAR == D3D12_DECODE_MIP_FILTER( D3D12Filter ) ) )
テクスチャ サンプリング関数 | 比較フィルター処理を使用したテクスチャ サンプリング関数 |
---|---|
サンプル | SampleCmp または SampleCmpLevelZero |
比較フィルターは、DXGI_FORMAT_R32_FLOAT_X8X24_TYPELESS、DXGI_FORMAT_R32_FLOAT、DXGI_FORMAT_R24_UNORM_X8_TYPELESS、DXGI_FORMAT_R16_UNORMの形式のテクスチャでのみ機能します。
要件
Header | d3d12.h |