> ## 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

> Spécifie les options de filtrage lors de l'échantillonnage de texture.

Spécifie les options de filtrage lors de l'échantillonnage de texture.

## Syntaxe

```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
```

## Constantes

| Constante | Description |
| - | - |
| D3D12\_FILTER\_MIN\_MAG\_MIP\_POINT | Utilise l'échantillonnage par point pour la minification, l'agrandissement et l'échantillonnage de niveau mip. |
| D3D12\_FILTER\_MIN\_MAG\_POINT\_MIP\_LINEAR | Utilise l'échantillonnage par point pour la minification et l'agrandissement ; utilise l'interpolation linéaire pour l'échantillonnage de niveau mip. |
| D3D12\_FILTER\_MIN\_POINT\_MAG\_LINEAR\_MIP\_POINT | Utilise l'échantillonnage par point pour la minification ; utilise l'interpolation linéaire pour l'agrandissement ; utilise l'échantillonnage par point pour l'échantillonnage de niveau mip. |
| D3D12\_FILTER\_MIN\_POINT\_MAG\_MIP\_LINEAR | Utilise l'échantillonnage par point pour la minification ; utilise l'interpolation linéaire pour l'agrandissement et l'échantillonnage de niveau mip. |
| D3D12\_FILTER\_MIN\_LINEAR\_MAG\_MIP\_POINT | Utilise l'interpolation linéaire pour la minification ; utilise l'échantillonnage par point pour l'agrandissement et l'échantillonnage de niveau mip. |
| D3D12\_FILTER\_MIN\_LINEAR\_MAG\_POINT\_MIP\_LINEAR | Utilise l'interpolation linéaire pour la minification ; utilise l'échantillonnage par point pour l'agrandissement ; utilise l'interpolation linéaire pour l'échantillonnage de niveau mip. |
| D3D12\_FILTER\_MIN\_MAG\_LINEAR\_MIP\_POINT | Utilise l'interpolation linéaire pour la minification et l'agrandissement ; utilise l'échantillonnage par point pour l'échantillonnage de niveau mip. |
| D3D12\_FILTER\_MIN\_MAG\_MIP\_LINEAR | Utilise l'interpolation linéaire pour la minification, l'agrandissement et l'échantillonnage de niveau mip. |
| D3D12\_FILTER\_ANISOTROPIC | Utilise l'interpolation anisotrope pour la minification, l'agrandissement et l'échantillonnage de niveau mip. |
| D3D12\_FILTER\_COMPARISON\_MIN\_MAG\_MIP\_POINT | Utilise l'échantillonnage par point pour la minification, l'agrandissement et l'échantillonnage de niveau mip. Compare le résultat à la valeur de comparaison. |
| D3D12\_FILTER\_COMPARISON\_MIN\_MAG\_POINT\_MIP\_LINEAR | Utilise l'échantillonnage par point pour la minification et l'agrandissement ; utilise l'interpolation linéaire pour l'échantillonnage de niveau mip. Compare le résultat à la valeur de comparaison. |
| D3D12\_FILTER\_COMPARISON\_MIN\_POINT\_MAG\_LINEAR\_MIP\_POINT | Utilise l'échantillonnage par point pour la minification ; utilise l'interpolation linéaire pour l'agrandissement ; utilise l'échantillonnage par point pour l'échantillonnage de niveau mip. Compare le résultat à la valeur de comparaison. |
| D3D12\_FILTER\_COMPARISON\_MIN\_POINT\_MAG\_MIP\_LINEAR | Utilise l'échantillonnage par point pour la minification ; utilise l'interpolation linéaire pour l'agrandissement et l'échantillonnage de niveau mip. Compare le résultat à la valeur de comparaison. |
| D3D12\_FILTER\_COMPARISON\_MIN\_LINEAR\_MAG\_MIP\_POINT | Utilise l'interpolation linéaire pour la minification ; utilise l'échantillonnage par point pour l'agrandissement et l'échantillonnage de niveau mip. Compare le résultat à la valeur de comparaison. |
| D3D12\_FILTER\_COMPARISON\_MIN\_LINEAR\_MAG\_POINT\_MIP\_LINEAR | Utilise l'interpolation linéaire pour la minification ; utilise l'échantillonnage par point pour l'agrandissement ; utilise l'interpolation linéaire pour l'échantillonnage de niveau mip. Compare le résultat à la valeur de comparaison. |
| D3D12\_FILTER\_COMPARISON\_MIN\_MAG\_LINEAR\_MIP\_POINT | Utilise l'interpolation linéaire pour la minification et l'agrandissement ; utilise l'échantillonnage par point pour l'échantillonnage de niveau mip. Compare le résultat à la valeur de comparaison. |
| D3D12\_FILTER\_COMPARISON\_MIN\_MAG\_MIP\_LINEAR | Utilise l'interpolation linéaire pour la minification, l'agrandissement et l'échantillonnage de niveau mip. Compare le résultat à la valeur de comparaison. |
| D3D12\_FILTER\_COMPARISON\_ANISOTROPIC | Utilise l'interpolation anisotrope pour la minification, l'agrandissement et l'échantillonnage de niveau mip. Compare le résultat à la valeur de comparaison. |
| D3D12\_FILTER\_MINIMUM\_MIN\_MAG\_MIP\_POINT | Récupère le même ensemble de texels que [D3D12\_FILTER\_MIN\_MAG\_MIP\_POINT](/fr/reference/graphics/d3d12/enums/d3d12_filter_public) et, au lieu de les filtrer, retourne le minimum des texels.  Les texels pondérés à 0 pendant le filtrage ne sont pas pris en compte dans le calcul du minimum.  Vous pouvez interroger la prise en charge de ce type de filtre à partir du membre **MinMaxFiltering** de la structure [D3D11\_FEATURE\_DATA\_D3D11\_OPTIONS1](https://learn.microsoft.com/en-us/windows/desktop/api/d3d11/ns-d3d11-d3d11_feature_data_d3d11_options1). |
| D3D12\_FILTER\_MINIMUM\_MIN\_MAG\_POINT\_MIP\_LINEAR | Récupère le même ensemble de texels que [D3D12\_FILTER\_MIN\_MAG\_POINT\_MIP\_LINEAR](/fr/reference/graphics/d3d12/enums/d3d12_filter_public) et, au lieu de les filtrer, retourne le minimum des texels.  Les texels pondérés à 0 pendant le filtrage ne sont pas pris en compte dans le calcul du minimum.  Vous pouvez interroger la prise en charge de ce type de filtre à partir du membre **MinMaxFiltering** de la structure [D3D11\_FEATURE\_DATA\_D3D11\_OPTIONS1](https://learn.microsoft.com/en-us/windows/desktop/api/d3d11/ns-d3d11-d3d11_feature_data_d3d11_options1). |
| D3D12\_FILTER\_MINIMUM\_MIN\_POINT\_MAG\_LINEAR\_MIP\_POINT | Récupère le même ensemble de texels que [D3D12\_FILTER\_MIN\_POINT\_MAG\_LINEAR\_MIP\_POINT](/fr/reference/graphics/d3d12/enums/d3d12_filter_public) et, au lieu de les filtrer, retourne le minimum des texels.  Les texels pondérés à 0 pendant le filtrage ne sont pas pris en compte dans le calcul du minimum.  Vous pouvez interroger la prise en charge de ce type de filtre à partir du membre **MinMaxFiltering** de la structure [D3D11\_FEATURE\_DATA\_D3D11\_OPTIONS1](https://learn.microsoft.com/en-us/windows/desktop/api/d3d11/ns-d3d11-d3d11_feature_data_d3d11_options1). |
| D3D12\_FILTER\_MINIMUM\_MIN\_POINT\_MAG\_MIP\_LINEAR | Récupère le même ensemble de texels que [D3D12\_FILTER\_MIN\_POINT\_MAG\_MIP\_LINEAR](/fr/reference/graphics/d3d12/enums/d3d12_filter_public) et, au lieu de les filtrer, retourne le minimum des texels.  Les texels pondérés à 0 pendant le filtrage ne sont pas pris en compte dans le calcul du minimum.  Vous pouvez interroger la prise en charge de ce type de filtre à partir du membre **MinMaxFiltering** de la structure [D3D11\_FEATURE\_DATA\_D3D11\_OPTIONS1](https://learn.microsoft.com/en-us/windows/desktop/api/d3d11/ns-d3d11-d3d11_feature_data_d3d11_options1). |
| D3D12\_FILTER\_MINIMUM\_MIN\_LINEAR\_MAG\_MIP\_POINT | Récupère le même ensemble de texels que [D3D12\_FILTER\_MIN\_LINEAR\_MAG\_MIP\_POINT](/fr/reference/graphics/d3d12/enums/d3d12_filter_public) et, au lieu de les filtrer, retourne le minimum des texels.  Les texels pondérés à 0 pendant le filtrage ne sont pas pris en compte dans le calcul du minimum.  Vous pouvez interroger la prise en charge de ce type de filtre à partir du membre **MinMaxFiltering** de la structure [D3D11\_FEATURE\_DATA\_D3D11\_OPTIONS1](https://learn.microsoft.com/en-us/windows/desktop/api/d3d11/ns-d3d11-d3d11_feature_data_d3d11_options1). |
| D3D12\_FILTER\_MINIMUM\_MIN\_LINEAR\_MAG\_POINT\_MIP\_LINEAR | Récupère le même ensemble de texels que [D3D12\_FILTER\_MIN\_LINEAR\_MAG\_POINT\_MIP\_LINEAR](/fr/reference/graphics/d3d12/enums/d3d12_filter_public) et, au lieu de les filtrer, retourne le minimum des texels.  Les texels pondérés à 0 pendant le filtrage ne sont pas pris en compte dans le calcul du minimum.  Vous pouvez interroger la prise en charge de ce type de filtre à partir du membre **MinMaxFiltering** de la structure [D3D11\_FEATURE\_DATA\_D3D11\_OPTIONS1](https://learn.microsoft.com/en-us/windows/desktop/api/d3d11/ns-d3d11-d3d11_feature_data_d3d11_options1). |
| D3D12\_FILTER\_MINIMUM\_MIN\_MAG\_LINEAR\_MIP\_POINT | Récupère le même ensemble de texels que [D3D12\_FILTER\_MIN\_MAG\_LINEAR\_MIP\_POINT](/fr/reference/graphics/d3d12/enums/d3d12_filter_public) et, au lieu de les filtrer, retourne le minimum des texels.  Les texels pondérés à 0 pendant le filtrage ne sont pas pris en compte dans le calcul du minimum.  Vous pouvez interroger la prise en charge de ce type de filtre à partir du membre **MinMaxFiltering** de la structure [D3D11\_FEATURE\_DATA\_D3D11\_OPTIONS1](https://learn.microsoft.com/en-us/windows/desktop/api/d3d11/ns-d3d11-d3d11_feature_data_d3d11_options1). |
| D3D12\_FILTER\_MINIMUM\_MIN\_MAG\_MIP\_LINEAR | Récupère le même ensemble de texels que [D3D12\_FILTER\_MIN\_MAG\_MIP\_LINEAR](/fr/reference/graphics/d3d12/enums/d3d12_filter_public) et, au lieu de les filtrer, retourne le minimum des texels.  Les texels pondérés à 0 pendant le filtrage ne sont pas pris en compte dans le calcul du minimum.  Vous pouvez interroger la prise en charge de ce type de filtre à partir du membre **MinMaxFiltering** de la structure [D3D11\_FEATURE\_DATA\_D3D11\_OPTIONS1](https://learn.microsoft.com/en-us/windows/desktop/api/d3d11/ns-d3d11-d3d11_feature_data_d3d11_options1). |
| D3D12\_FILTER\_MINIMUM\_ANISOTROPIC | Récupère le même ensemble de texels que [D3D12\_FILTER\_ANISOTROPIC](/fr/reference/graphics/d3d12/enums/d3d12_filter_public) et, au lieu de les filtrer, retourne le minimum des texels.  Les texels pondérés à 0 pendant le filtrage ne sont pas pris en compte dans le calcul du minimum.  Vous pouvez interroger la prise en charge de ce type de filtre à partir du membre **MinMaxFiltering** de la structure [D3D11\_FEATURE\_DATA\_D3D11\_OPTIONS1](https://learn.microsoft.com/en-us/windows/desktop/api/d3d11/ns-d3d11-d3d11_feature_data_d3d11_options1). |
| D3D12\_FILTER\_MAXIMUM\_MIN\_MAG\_MIP\_POINT | Récupère le même ensemble de texels que [D3D12\_FILTER\_MIN\_MAG\_MIP\_POINT](/fr/reference/graphics/d3d12/enums/d3d12_filter_public) et, au lieu de les filtrer, retourne le maximum des texels.  Les texels pondérés à 0 pendant le filtrage ne sont pas pris en compte dans le calcul du maximum.  Vous pouvez interroger la prise en charge de ce type de filtre à partir du membre **MinMaxFiltering** de la structure [D3D11\_FEATURE\_DATA\_D3D11\_OPTIONS1](https://learn.microsoft.com/en-us/windows/desktop/api/d3d11/ns-d3d11-d3d11_feature_data_d3d11_options1). |
| D3D12\_FILTER\_MAXIMUM\_MIN\_MAG\_POINT\_MIP\_LINEAR | Récupère le même ensemble de texels que [D3D12\_FILTER\_MIN\_MAG\_POINT\_MIP\_LINEAR](/fr/reference/graphics/d3d12/enums/d3d12_filter_public) et, au lieu de les filtrer, retourne le maximum des texels.  Les texels pondérés à 0 pendant le filtrage ne sont pas pris en compte dans le calcul du maximum.  Vous pouvez interroger la prise en charge de ce type de filtre à partir du membre **MinMaxFiltering** de la structure [D3D11\_FEATURE\_DATA\_D3D11\_OPTIONS1](https://learn.microsoft.com/en-us/windows/desktop/api/d3d11/ns-d3d11-d3d11_feature_data_d3d11_options1). |
| D3D12\_FILTER\_MAXIMUM\_MIN\_POINT\_MAG\_LINEAR\_MIP\_POINT | Récupère le même ensemble de texels que [D3D12\_FILTER\_MIN\_POINT\_MAG\_LINEAR\_MIP\_POINT](/fr/reference/graphics/d3d12/enums/d3d12_filter_public) et, au lieu de les filtrer, retourne le maximum des texels.  Les texels pondérés à 0 pendant le filtrage ne sont pas pris en compte dans le calcul du maximum.  Vous pouvez interroger la prise en charge de ce type de filtre à partir du membre **MinMaxFiltering** de la structure [D3D11\_FEATURE\_DATA\_D3D11\_OPTIONS1](https://learn.microsoft.com/en-us/windows/desktop/api/d3d11/ns-d3d11-d3d11_feature_data_d3d11_options1). |
| D3D12\_FILTER\_MAXIMUM\_MIN\_POINT\_MAG\_MIP\_LINEAR | Récupère le même ensemble de texels que [D3D12\_FILTER\_MIN\_POINT\_MAG\_MIP\_LINEAR](/fr/reference/graphics/d3d12/enums/d3d12_filter_public) et, au lieu de les filtrer, retourne le maximum des texels.  Les texels pondérés à 0 pendant le filtrage ne sont pas pris en compte dans le calcul du maximum.  Vous pouvez interroger la prise en charge de ce type de filtre à partir du membre **MinMaxFiltering** de la structure [D3D11\_FEATURE\_DATA\_D3D11\_OPTIONS1](https://learn.microsoft.com/en-us/windows/desktop/api/d3d11/ns-d3d11-d3d11_feature_data_d3d11_options1). |
| D3D12\_FILTER\_MAXIMUM\_MIN\_LINEAR\_MAG\_MIP\_POINT | Récupère le même ensemble de texels que [D3D12\_FILTER\_MIN\_LINEAR\_MAG\_MIP\_POINT](/fr/reference/graphics/d3d12/enums/d3d12_filter_public) et, au lieu de les filtrer, retourne le maximum des texels.  Les texels pondérés à 0 pendant le filtrage ne sont pas pris en compte dans le calcul du maximum.  Vous pouvez interroger la prise en charge de ce type de filtre à partir du membre **MinMaxFiltering** de la structure [D3D11\_FEATURE\_DATA\_D3D11\_OPTIONS1](https://learn.microsoft.com/en-us/windows/desktop/api/d3d11/ns-d3d11-d3d11_feature_data_d3d11_options1). |
| D3D12\_FILTER\_MAXIMUM\_MIN\_LINEAR\_MAG\_POINT\_MIP\_LINEAR | Récupère le même ensemble de texels que [D3D12\_FILTER\_MIN\_LINEAR\_MAG\_POINT\_MIP\_LINEAR](/fr/reference/graphics/d3d12/enums/d3d12_filter_public) et, au lieu de les filtrer, retourne le maximum des texels.  Les texels pondérés à 0 pendant le filtrage ne sont pas pris en compte dans le calcul du maximum.  Vous pouvez interroger la prise en charge de ce type de filtre à partir du membre **MinMaxFiltering** de la structure [D3D11\_FEATURE\_DATA\_D3D11\_OPTIONS1](https://learn.microsoft.com/en-us/windows/desktop/api/d3d11/ns-d3d11-d3d11_feature_data_d3d11_options1). |
| D3D12\_FILTER\_MAXIMUM\_MIN\_MAG\_LINEAR\_MIP\_POINT | Récupère le même ensemble de texels que [D3D12\_FILTER\_MIN\_MAG\_LINEAR\_MIP\_POINT](/fr/reference/graphics/d3d12/enums/d3d12_filter_public) et, au lieu de les filtrer, retourne le maximum des texels.  Les texels pondérés à 0 pendant le filtrage ne sont pas pris en compte dans le calcul du maximum.  Vous pouvez interroger la prise en charge de ce type de filtre à partir du membre **MinMaxFiltering** de la structure [D3D11\_FEATURE\_DATA\_D3D11\_OPTIONS1](https://learn.microsoft.com/en-us/windows/desktop/api/d3d11/ns-d3d11-d3d11_feature_data_d3d11_options1). |
| D3D12\_FILTER\_MAXIMUM\_MIN\_MAG\_MIP\_LINEAR | Récupère le même ensemble de texels que [D3D12\_FILTER\_MIN\_MAG\_MIP\_LINEAR](/fr/reference/graphics/d3d12/enums/d3d12_filter_public) et, au lieu de les filtrer, retourne le maximum des texels.  Les texels pondérés à 0 pendant le filtrage ne sont pas pris en compte dans le calcul du maximum.  Vous pouvez interroger la prise en charge de ce type de filtre à partir du membre **MinMaxFiltering** de la structure [D3D11\_FEATURE\_DATA\_D3D11\_OPTIONS1](https://learn.microsoft.com/en-us/windows/desktop/api/d3d11/ns-d3d11-d3d11_feature_data_d3d11_options1). |
| D3D12\_FILTER\_MAXIMUM\_ANISOTROPIC | Récupère le même ensemble de texels que [D3D12\_FILTER\_ANISOTROPIC](/fr/reference/graphics/d3d12/enums/d3d12_filter_public) et, au lieu de les filtrer, retourne le maximum des texels.  Les texels pondérés à 0 pendant le filtrage ne sont pas pris en compte dans le calcul du maximum.  Vous pouvez interroger la prise en charge de ce type de filtre à partir du membre **MinMaxFiltering** de la structure [D3D11\_FEATURE\_DATA\_D3D11\_OPTIONS1](https://learn.microsoft.com/en-us/windows/desktop/api/d3d11/ns-d3d11-d3d11_feature_data_d3d11_options1). |

## Remarques

Cette énumération est utilisée par la structure [D3D12\_SAMPLER\_DESC](/fr/reference/graphics/d3d12/structs/d3d12_sampler_desc_public).

<div class="alert">**Remarque**  Si vous utilisez des types de filtres différents pour le filtre de minification et le filtre d'agrandissement, un comportement non défini se produit dans certains cas où le choix entre l'agrandissement et la minification est ambigu. Pour éviter ce comportement non défini, utilisez des modes de filtre qui appliquent des opérations de filtrage similaires pour la minification et l'agrandissement (ou utilisez le filtrage anisotrope, qui évite également ce problème).</div>

<div />

Lors de l'échantillonnage de texture, un ou plusieurs texels sont lus et combinés (c'est ce qu'on appelle le filtrage) pour produire une valeur unique. L'échantillonnage par point lit un seul texel, tandis que l'échantillonnage linéaire lit deux texels (extrémités) et interpole linéairement une troisième valeur entre ces extrémités.

Les fonctions d'échantillonnage de texture du langage Microsoft High Level Shader Language (HLSL) prennent également en charge le filtrage de comparaison lors de l'échantillonnage de texture. Le filtrage de comparaison compare chaque texel échantillonné à une valeur de comparaison. Le résultat booléen est fusionné de la même manière que pour le filtrage de texture normal.

Vous pouvez utiliser les fonctions intrinsèques HLSL d'échantillonnage de texture qui implémentent uniquement le filtrage de texture, ou les fonctions associées qui utilisent le filtrage de texture avec filtrage de comparaison.

Notez également les définitions suivantes :

```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 ) ) )


```

| Fonction d'échantillonnage de texture | Fonction d'échantillonnage de texture avec filtrage de comparaison |
| - | - |
| [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) ou [SampleCmpLevelZero](https://learn.microsoft.com/en-us/windows/desktop/direct3dhlsl/dx-graphics-hlsl-to-samplecmplevelzero) |

Les filtres de comparaison fonctionnent uniquement avec les textures aux formats suivants : [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).

## Configuration requise

**En-tête :** d3d12\_xs.h ou d3d12\_x.h\
**Bibliothèque :** d3d12\_xs.lib ou d3d12\_x.lib\
**Plateformes prises en charge :** consoles XBOX Series et famille XBOX One

## Voir aussi

[Énumérations principales](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/direct3d-12-enumerations)

[Descripteurs](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/descriptors)


## Related topics

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