> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# D3D12_FILTER

> テクスチャ サンプリング時のフィルター オプションを指定します。

テクスチャ サンプリング時のフィルター オプションを指定します。

## 構文

```cpp theme={null}
typedef enum D3D12_FILTER
{
    D3D12_FILTER_MIN_MAG_MIP_POINT = 0,
    D3D12_FILTER_MIN_MAG_POINT_MIP_LINEAR = 1,
    D3D12_FILTER_MIN_POINT_MAG_LINEAR_MIP_POINT = 4,
    D3D12_FILTER_MIN_POINT_MAG_MIP_LINEAR = 5,
    D3D12_FILTER_MIN_LINEAR_MAG_MIP_POINT = 16,
    D3D12_FILTER_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 17,
    D3D12_FILTER_MIN_MAG_LINEAR_MIP_POINT = 20,
    D3D12_FILTER_MIN_MAG_MIP_LINEAR = 21,
    D3D12_FILTER_ANISOTROPIC = 85,
    D3D12_FILTER_COMPARISON_MIN_MAG_MIP_POINT = 128,
    D3D12_FILTER_COMPARISON_MIN_MAG_POINT_MIP_LINEAR = 129,
    D3D12_FILTER_COMPARISON_MIN_POINT_MAG_LINEAR_MIP_POINT = 132,
    D3D12_FILTER_COMPARISON_MIN_POINT_MAG_MIP_LINEAR = 133,
    D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_MIP_POINT = 144,
    D3D12_FILTER_COMPARISON_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 145,
    D3D12_FILTER_COMPARISON_MIN_MAG_LINEAR_MIP_POINT = 148,
    D3D12_FILTER_COMPARISON_MIN_MAG_MIP_LINEAR = 149,
    D3D12_FILTER_COMPARISON_ANISOTROPIC = 213,
    D3D12_FILTER_MINIMUM_MIN_MAG_MIP_POINT = 256,
    D3D12_FILTER_MINIMUM_MIN_MAG_POINT_MIP_LINEAR = 257,
    D3D12_FILTER_MINIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 260,
    D3D12_FILTER_MINIMUM_MIN_POINT_MAG_MIP_LINEAR = 261,
    D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_MIP_POINT = 272,
    D3D12_FILTER_MINIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 273,
    D3D12_FILTER_MINIMUM_MIN_MAG_LINEAR_MIP_POINT = 276,
    D3D12_FILTER_MINIMUM_MIN_MAG_MIP_LINEAR = 277,
    D3D12_FILTER_MINIMUM_ANISOTROPIC = 341,
    D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_POINT = 384,
    D3D12_FILTER_MAXIMUM_MIN_MAG_POINT_MIP_LINEAR = 385,
    D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_LINEAR_MIP_POINT = 388,
    D3D12_FILTER_MAXIMUM_MIN_POINT_MAG_MIP_LINEAR = 389,
    D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_MIP_POINT = 400,
    D3D12_FILTER_MAXIMUM_MIN_LINEAR_MAG_POINT_MIP_LINEAR = 401,
    D3D12_FILTER_MAXIMUM_MIN_MAG_LINEAR_MIP_POINT = 404,
    D3D12_FILTER_MAXIMUM_MIN_MAG_MIP_LINEAR = 405,
    D3D12_FILTER_MAXIMUM_ANISOTROPIC = 469
} D3D12_FILTER
```

## 定数

| 定数                                                              | 説明                                                                                                                                                                                                                                                                                                                                                                                                 |
| --------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| D3D12\_FILTER\_MIN\_MAG\_MIP\_POINT                             | 縮小、拡大、ミップ レベル サンプリングにポイント サンプリングを使用します。                                                                                                                                                                                                                                                                                                                                                            |
| D3D12\_FILTER\_MIN\_MAG\_POINT\_MIP\_LINEAR                     | 縮小と拡大にポイント サンプリングを使用し、ミップ レベル サンプリングに線形補間を使用します。                                                                                                                                                                                                                                                                                                                                                   |
| D3D12\_FILTER\_MIN\_POINT\_MAG\_LINEAR\_MIP\_POINT              | 縮小にポイント サンプリング、拡大に線形補間、ミップ レベル サンプリングにポイント サンプリングを使用します。                                                                                                                                                                                                                                                                                                                                           |
| D3D12\_FILTER\_MIN\_POINT\_MAG\_MIP\_LINEAR                     | 縮小にポイント サンプリング、拡大とミップ レベル サンプリングに線形補間を使用します。                                                                                                                                                                                                                                                                                                                                                       |
| D3D12\_FILTER\_MIN\_LINEAR\_MAG\_MIP\_POINT                     | 縮小に線形補間、拡大とミップ レベル サンプリングにポイント サンプリングを使用します。                                                                                                                                                                                                                                                                                                                                                       |
| D3D12\_FILTER\_MIN\_LINEAR\_MAG\_POINT\_MIP\_LINEAR             | 縮小に線形補間、拡大にポイント サンプリング、ミップ レベル サンプリングに線形補間を使用します。                                                                                                                                                                                                                                                                                                                                                  |
| D3D12\_FILTER\_MIN\_MAG\_LINEAR\_MIP\_POINT                     | 縮小と拡大に線形補間、ミップ レベル サンプリングにポイント サンプリングを使用します。                                                                                                                                                                                                                                                                                                                                                       |
| D3D12\_FILTER\_MIN\_MAG\_MIP\_LINEAR                            | 縮小、拡大、ミップ レベル サンプリングに線形補間を使用します。                                                                                                                                                                                                                                                                                                                                                                   |
| D3D12\_FILTER\_ANISOTROPIC                                      | 縮小、拡大、ミップ レベル サンプリングに異方性補間を使用します。                                                                                                                                                                                                                                                                                                                                                                  |
| D3D12\_FILTER\_COMPARISON\_MIN\_MAG\_MIP\_POINT                 | 縮小、拡大、ミップ レベル サンプリングにポイント サンプリングを使用します。結果を比較値と比較します。                                                                                                                                                                                                                                                                                                                                               |
| D3D12\_FILTER\_COMPARISON\_MIN\_MAG\_POINT\_MIP\_LINEAR         | 縮小と拡大にポイント サンプリング、ミップ レベル サンプリングに線形補間を使用します。結果を比較値と比較します。                                                                                                                                                                                                                                                                                                                                          |
| D3D12\_FILTER\_COMPARISON\_MIN\_POINT\_MAG\_LINEAR\_MIP\_POINT  | 縮小にポイント サンプリング、拡大に線形補間、ミップ レベル サンプリングにポイント サンプリングを使用します。結果を比較値と比較します。                                                                                                                                                                                                                                                                                                                              |
| D3D12\_FILTER\_COMPARISON\_MIN\_POINT\_MAG\_MIP\_LINEAR         | 縮小にポイント サンプリング、拡大とミップ レベル サンプリングに線形補間を使用します。結果を比較値と比較します。                                                                                                                                                                                                                                                                                                                                          |
| D3D12\_FILTER\_COMPARISON\_MIN\_LINEAR\_MAG\_MIP\_POINT         | 縮小に線形補間、拡大とミップ レベル サンプリングにポイント サンプリングを使用します。結果を比較値と比較します。                                                                                                                                                                                                                                                                                                                                          |
| D3D12\_FILTER\_COMPARISON\_MIN\_LINEAR\_MAG\_POINT\_MIP\_LINEAR | 縮小に線形補間、拡大にポイント サンプリング、ミップ レベル サンプリングに線形補間を使用します。結果を比較値と比較します。                                                                                                                                                                                                                                                                                                                                     |
| D3D12\_FILTER\_COMPARISON\_MIN\_MAG\_LINEAR\_MIP\_POINT         | 縮小と拡大に線形補間、ミップ レベル サンプリングにポイント サンプリングを使用します。結果を比較値と比較します。                                                                                                                                                                                                                                                                                                                                          |
| D3D12\_FILTER\_COMPARISON\_MIN\_MAG\_MIP\_LINEAR                | 縮小、拡大、ミップ レベル サンプリングに線形補間を使用します。結果を比較値と比較します。                                                                                                                                                                                                                                                                                                                                                      |
| D3D12\_FILTER\_COMPARISON\_ANISOTROPIC                          | 縮小、拡大、ミップ レベル サンプリングに異方性補間を使用します。結果を比較値と比較します。                                                                                                                                                                                                                                                                                                                                                     |
| D3D12\_FILTER\_MINIMUM\_MIN\_MAG\_MIP\_POINT                    | [D3D12\_FILTER\_MIN\_MAG\_MIP\_POINT](/reference/graphics/d3d12/enums/d3d12_filter_public) と同じテクセル セットを取得し、フィルタリングする代わりにテクセルの最小値を返します。フィルタリング中に重み 0 のテクセルは最小値の計算に含まれません。このフィルター タイプのサポート状況は [D3D11\_FEATURE\_DATA\_D3D11\_OPTIONS1](https://learn.microsoft.com/en-us/windows/desktop/api/d3d11/ns-d3d11-d3d11_feature_data_d3d11_options1) 構造体の **MinMaxFiltering** メンバーから照会できます。                 |
| D3D12\_FILTER\_MINIMUM\_MIN\_MAG\_POINT\_MIP\_LINEAR            | [D3D12\_FILTER\_MIN\_MAG\_POINT\_MIP\_LINEAR](/reference/graphics/d3d12/enums/d3d12_filter_public) と同じテクセル セットを取得し、フィルタリングする代わりにテクセルの最小値を返します。フィルタリング中に重み 0 のテクセルは最小値の計算に含まれません。このフィルター タイプのサポート状況は [D3D11\_FEATURE\_DATA\_D3D11\_OPTIONS1](https://learn.microsoft.com/en-us/windows/desktop/api/d3d11/ns-d3d11-d3d11_feature_data_d3d11_options1) 構造体の **MinMaxFiltering** メンバーから照会できます。         |
| D3D12\_FILTER\_MINIMUM\_MIN\_POINT\_MAG\_LINEAR\_MIP\_POINT     | [D3D12\_FILTER\_MIN\_POINT\_MAG\_LINEAR\_MIP\_POINT](/reference/graphics/d3d12/enums/d3d12_filter_public) と同じテクセル セットを取得し、フィルタリングする代わりにテクセルの最小値を返します。フィルタリング中に重み 0 のテクセルは最小値の計算に含まれません。このフィルター タイプのサポート状況は [D3D11\_FEATURE\_DATA\_D3D11\_OPTIONS1](https://learn.microsoft.com/en-us/windows/desktop/api/d3d11/ns-d3d11-d3d11_feature_data_d3d11_options1) 構造体の **MinMaxFiltering** メンバーから照会できます。  |
| D3D12\_FILTER\_MINIMUM\_MIN\_POINT\_MAG\_MIP\_LINEAR            | [D3D12\_FILTER\_MIN\_POINT\_MAG\_MIP\_LINEAR](/reference/graphics/d3d12/enums/d3d12_filter_public) と同じテクセル セットを取得し、フィルタリングする代わりにテクセルの最小値を返します。フィルタリング中に重み 0 のテクセルは最小値の計算に含まれません。このフィルター タイプのサポート状況は [D3D11\_FEATURE\_DATA\_D3D11\_OPTIONS1](https://learn.microsoft.com/en-us/windows/desktop/api/d3d11/ns-d3d11-d3d11_feature_data_d3d11_options1) 構造体の **MinMaxFiltering** メンバーから照会できます。         |
| D3D12\_FILTER\_MINIMUM\_MIN\_LINEAR\_MAG\_MIP\_POINT            | [D3D12\_FILTER\_MIN\_LINEAR\_MAG\_MIP\_POINT](/reference/graphics/d3d12/enums/d3d12_filter_public) と同じテクセル セットを取得し、フィルタリングする代わりにテクセルの最小値を返します。フィルタリング中に重み 0 のテクセルは最小値の計算に含まれません。このフィルター タイプのサポート状況は [D3D11\_FEATURE\_DATA\_D3D11\_OPTIONS1](https://learn.microsoft.com/en-us/windows/desktop/api/d3d11/ns-d3d11-d3d11_feature_data_d3d11_options1) 構造体の **MinMaxFiltering** メンバーから照会できます。         |
| D3D12\_FILTER\_MINIMUM\_MIN\_LINEAR\_MAG\_POINT\_MIP\_LINEAR    | [D3D12\_FILTER\_MIN\_LINEAR\_MAG\_POINT\_MIP\_LINEAR](/reference/graphics/d3d12/enums/d3d12_filter_public) と同じテクセル セットを取得し、フィルタリングする代わりにテクセルの最小値を返します。フィルタリング中に重み 0 のテクセルは最小値の計算に含まれません。このフィルター タイプのサポート状況は [D3D11\_FEATURE\_DATA\_D3D11\_OPTIONS1](https://learn.microsoft.com/en-us/windows/desktop/api/d3d11/ns-d3d11-d3d11_feature_data_d3d11_options1) 構造体の **MinMaxFiltering** メンバーから照会できます。 |
| D3D12\_FILTER\_MINIMUM\_MIN\_MAG\_LINEAR\_MIP\_POINT            | [D3D12\_FILTER\_MIN\_MAG\_LINEAR\_MIP\_POINT](/reference/graphics/d3d12/enums/d3d12_filter_public) と同じテクセル セットを取得し、フィルタリングする代わりにテクセルの最小値を返します。フィルタリング中に重み 0 のテクセルは最小値の計算に含まれません。このフィルター タイプのサポート状況は [D3D11\_FEATURE\_DATA\_D3D11\_OPTIONS1](https://learn.microsoft.com/en-us/windows/desktop/api/d3d11/ns-d3d11-d3d11_feature_data_d3d11_options1) 構造体の **MinMaxFiltering** メンバーから照会できます。         |
| D3D12\_FILTER\_MINIMUM\_MIN\_MAG\_MIP\_LINEAR                   | [D3D12\_FILTER\_MIN\_MAG\_MIP\_LINEAR](/reference/graphics/d3d12/enums/d3d12_filter_public) と同じテクセル セットを取得し、フィルタリングする代わりにテクセルの最小値を返します。フィルタリング中に重み 0 のテクセルは最小値の計算に含まれません。このフィルター タイプのサポート状況は [D3D11\_FEATURE\_DATA\_D3D11\_OPTIONS1](https://learn.microsoft.com/en-us/windows/desktop/api/d3d11/ns-d3d11-d3d11_feature_data_d3d11_options1) 構造体の **MinMaxFiltering** メンバーから照会できます。                |
| D3D12\_FILTER\_MINIMUM\_ANISOTROPIC                             | [D3D12\_FILTER\_ANISOTROPIC](/reference/graphics/d3d12/enums/d3d12_filter_public) と同じテクセル セットを取得し、フィルタリングする代わりにテクセルの最小値を返します。フィルタリング中に重み 0 のテクセルは最小値の計算に含まれません。このフィルター タイプのサポート状況は [D3D11\_FEATURE\_DATA\_D3D11\_OPTIONS1](https://learn.microsoft.com/en-us/windows/desktop/api/d3d11/ns-d3d11-d3d11_feature_data_d3d11_options1) 構造体の **MinMaxFiltering** メンバーから照会できます。                          |
| D3D12\_FILTER\_MAXIMUM\_MIN\_MAG\_MIP\_POINT                    | [D3D12\_FILTER\_MIN\_MAG\_MIP\_POINT](/reference/graphics/d3d12/enums/d3d12_filter_public) と同じテクセル セットを取得し、フィルタリングする代わりにテクセルの最大値を返します。フィルタリング中に重み 0 のテクセルは最大値の計算に含まれません。このフィルター タイプのサポート状況は [D3D11\_FEATURE\_DATA\_D3D11\_OPTIONS1](https://learn.microsoft.com/en-us/windows/desktop/api/d3d11/ns-d3d11-d3d11_feature_data_d3d11_options1) 構造体の **MinMaxFiltering** メンバーから照会できます。                 |
| D3D12\_FILTER\_MAXIMUM\_MIN\_MAG\_POINT\_MIP\_LINEAR            | [D3D12\_FILTER\_MIN\_MAG\_POINT\_MIP\_LINEAR](/reference/graphics/d3d12/enums/d3d12_filter_public) と同じテクセル セットを取得し、フィルタリングする代わりにテクセルの最大値を返します。フィルタリング中に重み 0 のテクセルは最大値の計算に含まれません。このフィルター タイプのサポート状況は [D3D11\_FEATURE\_DATA\_D3D11\_OPTIONS1](https://learn.microsoft.com/en-us/windows/desktop/api/d3d11/ns-d3d11-d3d11_feature_data_d3d11_options1) 構造体の **MinMaxFiltering** メンバーから照会できます。         |
| D3D12\_FILTER\_MAXIMUM\_MIN\_POINT\_MAG\_LINEAR\_MIP\_POINT     | [D3D12\_FILTER\_MIN\_POINT\_MAG\_LINEAR\_MIP\_POINT](/reference/graphics/d3d12/enums/d3d12_filter_public) と同じテクセル セットを取得し、フィルタリングする代わりにテクセルの最大値を返します。フィルタリング中に重み 0 のテクセルは最大値の計算に含まれません。このフィルター タイプのサポート状況は [D3D11\_FEATURE\_DATA\_D3D11\_OPTIONS1](https://learn.microsoft.com/en-us/windows/desktop/api/d3d11/ns-d3d11-d3d11_feature_data_d3d11_options1) 構造体の **MinMaxFiltering** メンバーから照会できます。  |
| D3D12\_FILTER\_MAXIMUM\_MIN\_POINT\_MAG\_MIP\_LINEAR            | [D3D12\_FILTER\_MIN\_POINT\_MAG\_MIP\_LINEAR](/reference/graphics/d3d12/enums/d3d12_filter_public) と同じテクセル セットを取得し、フィルタリングする代わりにテクセルの最大値を返します。フィルタリング中に重み 0 のテクセルは最大値の計算に含まれません。このフィルター タイプのサポート状況は [D3D11\_FEATURE\_DATA\_D3D11\_OPTIONS1](https://learn.microsoft.com/en-us/windows/desktop/api/d3d11/ns-d3d11-d3d11_feature_data_d3d11_options1) 構造体の **MinMaxFiltering** メンバーから照会できます。         |
| D3D12\_FILTER\_MAXIMUM\_MIN\_LINEAR\_MAG\_MIP\_POINT            | [D3D12\_FILTER\_MIN\_LINEAR\_MAG\_MIP\_POINT](/reference/graphics/d3d12/enums/d3d12_filter_public) と同じテクセル セットを取得し、フィルタリングする代わりにテクセルの最大値を返します。フィルタリング中に重み 0 のテクセルは最大値の計算に含まれません。このフィルター タイプのサポート状況は [D3D11\_FEATURE\_DATA\_D3D11\_OPTIONS1](https://learn.microsoft.com/en-us/windows/desktop/api/d3d11/ns-d3d11-d3d11_feature_data_d3d11_options1) 構造体の **MinMaxFiltering** メンバーから照会できます。         |
| D3D12\_FILTER\_MAXIMUM\_MIN\_LINEAR\_MAG\_POINT\_MIP\_LINEAR    | [D3D12\_FILTER\_MIN\_LINEAR\_MAG\_POINT\_MIP\_LINEAR](/reference/graphics/d3d12/enums/d3d12_filter_public) と同じテクセル セットを取得し、フィルタリングする代わりにテクセルの最大値を返します。フィルタリング中に重み 0 のテクセルは最大値の計算に含まれません。このフィルター タイプのサポート状況は [D3D11\_FEATURE\_DATA\_D3D11\_OPTIONS1](https://learn.microsoft.com/en-us/windows/desktop/api/d3d11/ns-d3d11-d3d11_feature_data_d3d11_options1) 構造体の **MinMaxFiltering** メンバーから照会できます。 |
| D3D12\_FILTER\_MAXIMUM\_MIN\_MAG\_LINEAR\_MIP\_POINT            | [D3D12\_FILTER\_MIN\_MAG\_LINEAR\_MIP\_POINT](/reference/graphics/d3d12/enums/d3d12_filter_public) と同じテクセル セットを取得し、フィルタリングする代わりにテクセルの最大値を返します。フィルタリング中に重み 0 のテクセルは最大値の計算に含まれません。このフィルター タイプのサポート状況は [D3D11\_FEATURE\_DATA\_D3D11\_OPTIONS1](https://learn.microsoft.com/en-us/windows/desktop/api/d3d11/ns-d3d11-d3d11_feature_data_d3d11_options1) 構造体の **MinMaxFiltering** メンバーから照会できます。         |
| D3D12\_FILTER\_MAXIMUM\_MIN\_MAG\_MIP\_LINEAR                   | [D3D12\_FILTER\_MIN\_MAG\_MIP\_LINEAR](/reference/graphics/d3d12/enums/d3d12_filter_public) と同じテクセル セットを取得し、フィルタリングする代わりにテクセルの最大値を返します。フィルタリング中に重み 0 のテクセルは最大値の計算に含まれません。このフィルター タイプのサポート状況は [D3D11\_FEATURE\_DATA\_D3D11\_OPTIONS1](https://learn.microsoft.com/en-us/windows/desktop/api/d3d11/ns-d3d11-d3d11_feature_data_d3d11_options1) 構造体の **MinMaxFiltering** メンバーから照会できます。                |
| D3D12\_FILTER\_MAXIMUM\_ANISOTROPIC                             | [D3D12\_FILTER\_ANISOTROPIC](/reference/graphics/d3d12/enums/d3d12_filter_public) と同じテクセル セットを取得し、フィルタリングする代わりにテクセルの最大値を返します。フィルタリング中に重み 0 のテクセルは最大値の計算に含まれません。このフィルター タイプのサポート状況は [D3D11\_FEATURE\_DATA\_D3D11\_OPTIONS1](https://learn.microsoft.com/en-us/windows/desktop/api/d3d11/ns-d3d11-d3d11_feature_data_d3d11_options1) 構造体の **MinMaxFiltering** メンバーから照会できます。                          |

## 解説

この列挙型は [D3D12\_SAMPLER\_DESC](/reference/graphics/d3d12/structs/d3d12_sampler_desc_public) 構造体で使用されます。

<div class="alert">**メモ**  縮小と拡大で異なるフィルター タイプを使用する場合、拡大と縮小のどちらが発生するかの判別があいまいな特定のケースで未定義動作が発生します。この未定義動作を防ぐには、縮小と拡大の両方に類似のフィルター操作を使用するフィルター モードを使用するか (または、同様にこの問題を回避する異方性フィルタリングを使用してください)。</div>

<div />

テクスチャ サンプリング中、1 つ以上のテクセルが読み取られ、組み合わされて (これをフィルタリングと呼びます) 単一の値が生成されます。ポイント サンプリングは単一のテクセルを読み取り、線形サンプリングは 2 つのテクセル (端点) を読み取り、その間で 3 番目の値を線形補間します。

Microsoft High Level Shader Language (HLSL) のテクスチャ サンプリング関数は、テクスチャ サンプリング中の比較フィルタリングもサポートしています。比較フィルタリングは、サンプリングされた各テクセルを比較値と比較します。ブール値の結果は、通常のテクスチャ フィルタリングがブレンドされるのと同じ方法でブレンドされます。

テクスチャ フィルタリングのみを実装する HLSL 組み込みのテクスチャ サンプリング関数、または比較フィルタリングとテクスチャ フィルタリングを併用する対応関数を使用できます。

また、次の定義にも注意してください。

```syntax theme={null}
#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 ) &amp; D3D12_FILTER_TYPE_MASK ) &lt;&lt; D3D12_MIN_FILTER_SHIFT ) |           \
( ( ( mag ) &amp; D3D12_FILTER_TYPE_MASK ) &lt;&lt; D3D12_MAG_FILTER_SHIFT ) |           \
( ( ( mip ) &amp; D3D12_FILTER_TYPE_MASK ) &lt;&lt; D3D12_MIP_FILTER_SHIFT ) |           \
( ( ( reduction ) &amp; D3D12_FILTER_REDUCTION_TYPE_MASK ) &lt;&lt; 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 ) &gt;&gt; D3D12_MIN_FILTER_SHIFT ) &amp; D3D12_FILTER_TYPE_MASK ) )
#define D3D12_DECODE_MAG_FILTER( D3D12Filter )                                                              \
( ( D3D12_FILTER_TYPE )                                                    \
( ( ( D3D12Filter ) &gt;&gt; D3D12_MAG_FILTER_SHIFT ) &amp; D3D12_FILTER_TYPE_MASK ) )
#define D3D12_DECODE_MIP_FILTER( D3D12Filter )                                                              \
( ( D3D12_FILTER_TYPE )                                                    \
( ( ( D3D12Filter ) &gt;&gt; D3D12_MIP_FILTER_SHIFT ) &amp; D3D12_FILTER_TYPE_MASK ) )
#define D3D12_DECODE_FILTER_REDUCTION( D3D12Filter )                                                        \
( ( D3D12_FILTER_REDUCTION_TYPE )                                                      \
( ( ( D3D12Filter ) &gt;&gt; D3D12_FILTER_REDUCTION_TYPE_SHIFT ) &amp; 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 ) &amp; D3D12_ANISOTROPIC_FILTERING_BIT ) &amp;&amp;                  \
( D3D12_FILTER_TYPE_LINEAR == D3D12_DECODE_MIN_FILTER( D3D12Filter ) ) &amp;&amp;   \
( D3D12_FILTER_TYPE_LINEAR == D3D12_DECODE_MAG_FILTER( D3D12Filter ) ) &amp;&amp;   \
( D3D12_FILTER_TYPE_LINEAR == D3D12_DECODE_MIP_FILTER( D3D12Filter ) ) )


```

| テクスチャ サンプリング関数                                                                                      | 比較フィルタリング付きテクスチャ サンプリング関数                                                                                                                                                                                                                 |
| --------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Sample](https://learn.microsoft.com/en-us/windows/desktop/direct3dhlsl/dx-graphics-hlsl-to-sample) | [SampleCmp](https://learn.microsoft.com/en-us/windows/desktop/direct3dhlsl/dx-graphics-hlsl-to-samplecmp) または [SampleCmpLevelZero](https://learn.microsoft.com/en-us/windows/desktop/direct3dhlsl/dx-graphics-hlsl-to-samplecmplevelzero) |

比較フィルターは、次のフォーマットを持つテクスチャでのみ動作します: [DXGI\_FORMAT\_R32\_FLOAT\_X8X24\_TYPELESS](https://learn.microsoft.com/en-us/windows/desktop/api/dxgiformat/ne-dxgiformat-dxgi_format)、[DXGI\_FORMAT\_R32\_FLOAT](https://learn.microsoft.com/en-us/windows/desktop/api/dxgiformat/ne-dxgiformat-dxgi_format)、[DXGI\_FORMAT\_R24\_UNORM\_X8\_TYPELESS](https://learn.microsoft.com/en-us/windows/desktop/api/dxgiformat/ne-dxgiformat-dxgi_format)、[DXGI\_FORMAT\_R16\_UNORM](https://learn.microsoft.com/en-us/windows/desktop/api/dxgiformat/ne-dxgiformat-dxgi_format)。

## 要件

**ヘッダー:** d3d12\_xs.h または d3d12\_x.h\
**ライブラリ:** d3d12\_xs.lib または d3d12\_x.lib\
**サポートされるプラットフォーム**: XBOX Series 本体および XBOX One ファミリ

## 関連項目

[コア列挙型](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/direct3d-12-enumerations)

[ディスクリプター](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/descriptors)


## Related topics

- [D3D12_FILTER_TYPE](/ja-jp/reference/graphics/d3d12/enums/d3d12_filter_type_public.md)
- [D3D12_FILTER_REDUCTION_TYPE](/ja-jp/reference/graphics/d3d12/enums/d3d12_filter_reduction_type_public.md)
- [D3D12_SAMPLER_DESC](/ja-jp/reference/graphics/d3d12/structs/d3d12_sampler_desc_public.md)
- [D3D12_STATIC_SAMPLER_DESC](/ja-jp/reference/graphics/d3d12/structs/d3d12_static_sampler_desc_public.md)
- [D3D12_FEATURE](/ja-jp/reference/graphics/d3d12/enums/d3d12_feature_public.md)
