> ## 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 | 縮小、放大和 Mip 層級取樣皆使用點取樣。 |
| D3D12\_FILTER\_MIN\_MAG\_POINT\_MIP\_LINEAR | 縮小和放大使用點取樣；Mip 層級取樣使用線性內插。 |
| D3D12\_FILTER\_MIN\_POINT\_MAG\_LINEAR\_MIP\_POINT | 縮小使用點取樣；放大使用線性內插；Mip 層級取樣使用點取樣。 |
| D3D12\_FILTER\_MIN\_POINT\_MAG\_MIP\_LINEAR | 縮小使用點取樣；放大和 Mip 層級取樣使用線性內插。 |
| D3D12\_FILTER\_MIN\_LINEAR\_MAG\_MIP\_POINT | 縮小使用線性內插；放大和 Mip 層級取樣使用點取樣。 |
| D3D12\_FILTER\_MIN\_LINEAR\_MAG\_POINT\_MIP\_LINEAR | 縮小使用線性內插；放大使用點取樣；Mip 層級取樣使用線性內插。 |
| D3D12\_FILTER\_MIN\_MAG\_LINEAR\_MIP\_POINT | 縮小和放大使用線性內插；Mip 層級取樣使用點取樣。 |
| D3D12\_FILTER\_MIN\_MAG\_MIP\_LINEAR | 縮小、放大和 Mip 層級取樣皆使用線性內插。 |
| D3D12\_FILTER\_ANISOTROPIC | 縮小、放大和 Mip 層級取樣皆使用非等向性內插。 |
| D3D12\_FILTER\_COMPARISON\_MIN\_MAG\_MIP\_POINT | 縮小、放大和 Mip 層級取樣皆使用點取樣。將結果與比較值進行比較。 |
| D3D12\_FILTER\_COMPARISON\_MIN\_MAG\_POINT\_MIP\_LINEAR | 縮小和放大使用點取樣；Mip 層級取樣使用線性內插。將結果與比較值進行比較。 |
| D3D12\_FILTER\_COMPARISON\_MIN\_POINT\_MAG\_LINEAR\_MIP\_POINT | 縮小使用點取樣；放大使用線性內插；Mip 層級取樣使用點取樣。將結果與比較值進行比較。 |
| D3D12\_FILTER\_COMPARISON\_MIN\_POINT\_MAG\_MIP\_LINEAR | 縮小使用點取樣；放大和 Mip 層級取樣使用線性內插。將結果與比較值進行比較。 |
| D3D12\_FILTER\_COMPARISON\_MIN\_LINEAR\_MAG\_MIP\_POINT | 縮小使用線性內插；放大和 Mip 層級取樣使用點取樣。將結果與比較值進行比較。 |
| D3D12\_FILTER\_COMPARISON\_MIN\_LINEAR\_MAG\_POINT\_MIP\_LINEAR | 縮小使用線性內插；放大使用點取樣；Mip 層級取樣使用線性內插。將結果與比較值進行比較。 |
| D3D12\_FILTER\_COMPARISON\_MIN\_MAG\_LINEAR\_MIP\_POINT | 縮小和放大使用線性內插；Mip 層級取樣使用點取樣。將結果與比較值進行比較。 |
| D3D12\_FILTER\_COMPARISON\_MIN\_MAG\_MIP\_LINEAR | 縮小、放大和 Mip 層級取樣皆使用線性內插。將結果與比較值進行比較。 |
| D3D12\_FILTER\_COMPARISON\_ANISOTROPIC | 縮小、放大和 Mip 層級取樣皆使用非等向性內插。將結果與比較值進行比較。 |
| D3D12\_FILTER\_MINIMUM\_MIN\_MAG\_MIP\_POINT | 擷取與 [D3D12\_FILTER\_MIN\_MAG\_MIP\_POINT](/zh-TW/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](/zh-TW/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](/zh-TW/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](/zh-TW/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](/zh-TW/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](/zh-TW/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](/zh-TW/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](/zh-TW/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](/zh-TW/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](/zh-TW/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](/zh-TW/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](/zh-TW/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](/zh-TW/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](/zh-TW/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](/zh-TW/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](/zh-TW/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](/zh-TW/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](/zh-TW/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](/zh-TW/reference/graphics/d3d12/structs/d3d12_sampler_desc_public) 結構使用。

<div class="alert">**注意**  如果您對縮小和放大篩選使用不同的篩選類型，在某些無法明確判斷應進行放大或縮小的情況下，會發生未定義的行為。若要避免此未定義的行為，請使用在縮小和放大時都採用類似篩選作業的篩選模式 (或使用非等向性篩選，同樣可避免此問題)。</div>

<div />

在紋理取樣期間，會讀取並組合一或多個紋素 (這稱為篩選) 以產生單一值。點取樣會讀取單一紋素，而線性取樣會讀取兩個紋素 (端點)，並在端點之間以線性內插產生第三個值。

Microsoft 高階著色器語言 (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](/zh-TW/reference/graphics/d3d12/enums/d3d12_filter_type_public.md)
- [D3D12_FILTER_REDUCTION_TYPE](/zh-TW/reference/graphics/d3d12/enums/d3d12_filter_reduction_type_public.md)
- [D3D12_SAMPLER_DESC](/zh-TW/reference/graphics/d3d12/structs/d3d12_sampler_desc_public.md)
- [D3D12_STATIC_SAMPLER_DESC](/zh-TW/reference/graphics/d3d12/structs/d3d12_static_sampler_desc_public.md)
- [D3D12_FEATURE](/zh-TW/reference/graphics/d3d12/enums/d3d12_feature_public.md)
