> ## 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 pendant l'échantillonnage de texture.

Spécifie les options de filtrage pendant 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 | Utiliser l'échantillonnage ponctuel pour la minification, l'agrandissement et l'échantillonnage de niveau mip. |
| D3D12\_FILTER\_MIN\_MAG\_POINT\_MIP\_LINEAR | Utiliser l'échantillonnage ponctuel pour la minification et l'agrandissement; utiliser l'interpolation linéaire pour l'échantillonnage de niveau mip. |
| D3D12\_FILTER\_MIN\_POINT\_MAG\_LINEAR\_MIP\_POINT | Utiliser l'échantillonnage ponctuel pour la minification; utiliser l'interpolation linéaire pour l'agrandissement; utiliser l'échantillonnage ponctuel pour l'échantillonnage de niveau mip. |
| D3D12\_FILTER\_MIN\_POINT\_MAG\_MIP\_LINEAR | Utiliser l'échantillonnage ponctuel pour la minification; utiliser l'interpolation linéaire pour l'agrandissement et l'échantillonnage de niveau mip. |
| D3D12\_FILTER\_MIN\_LINEAR\_MAG\_MIP\_POINT | Utiliser l'interpolation linéaire pour la minification; utiliser l'échantillonnage ponctuel pour l'agrandissement et l'échantillonnage de niveau mip. |
| D3D12\_FILTER\_MIN\_LINEAR\_MAG\_POINT\_MIP\_LINEAR | Utiliser l'interpolation linéaire pour la minification; utiliser l'échantillonnage ponctuel pour l'agrandissement; utiliser l'interpolation linéaire pour l'échantillonnage de niveau mip. |
| D3D12\_FILTER\_MIN\_MAG\_LINEAR\_MIP\_POINT | Utiliser l'interpolation linéaire pour la minification et l'agrandissement; utiliser l'échantillonnage ponctuel pour l'échantillonnage de niveau mip. |
| D3D12\_FILTER\_MIN\_MAG\_MIP\_LINEAR | Utiliser l'interpolation linéaire pour la minification, l'agrandissement et l'échantillonnage de niveau mip. |
| D3D12\_FILTER\_ANISOTROPIC | Utiliser l'interpolation anisotrope pour la minification, l'agrandissement et l'échantillonnage de niveau mip. |
| D3D12\_FILTER\_COMPARISON\_MIN\_MAG\_MIP\_POINT | Utiliser l'échantillonnage ponctuel pour la minification, l'agrandissement et l'échantillonnage de niveau mip. Comparer le résultat à la valeur de comparaison. |
| D3D12\_FILTER\_COMPARISON\_MIN\_MAG\_POINT\_MIP\_LINEAR | Utiliser l'échantillonnage ponctuel pour la minification et l'agrandissement; utiliser l'interpolation linéaire pour l'échantillonnage de niveau mip. Comparer le résultat à la valeur de comparaison. |
| D3D12\_FILTER\_COMPARISON\_MIN\_POINT\_MAG\_LINEAR\_MIP\_POINT | Utiliser l'échantillonnage ponctuel pour la minification; utiliser l'interpolation linéaire pour l'agrandissement; utiliser l'échantillonnage ponctuel pour l'échantillonnage de niveau mip. Comparer le résultat à la valeur de comparaison. |
| D3D12\_FILTER\_COMPARISON\_MIN\_POINT\_MAG\_MIP\_LINEAR | Utiliser l'échantillonnage ponctuel pour la minification; utiliser l'interpolation linéaire pour l'agrandissement et l'échantillonnage de niveau mip. Comparer le résultat à la valeur de comparaison. |
| D3D12\_FILTER\_COMPARISON\_MIN\_LINEAR\_MAG\_MIP\_POINT | Utiliser l'interpolation linéaire pour la minification; utiliser l'échantillonnage ponctuel pour l'agrandissement et l'échantillonnage de niveau mip. Comparer le résultat à la valeur de comparaison. |
| D3D12\_FILTER\_COMPARISON\_MIN\_LINEAR\_MAG\_POINT\_MIP\_LINEAR | Utiliser l'interpolation linéaire pour la minification; utiliser l'échantillonnage ponctuel pour l'agrandissement; utiliser l'interpolation linéaire pour l'échantillonnage de niveau mip. Comparer le résultat à la valeur de comparaison. |
| D3D12\_FILTER\_COMPARISON\_MIN\_MAG\_LINEAR\_MIP\_POINT | Utiliser l'interpolation linéaire pour la minification et l'agrandissement; utiliser l'échantillonnage ponctuel pour l'échantillonnage de niveau mip. Comparer le résultat à la valeur de comparaison. |
| D3D12\_FILTER\_COMPARISON\_MIN\_MAG\_MIP\_LINEAR | Utiliser l'interpolation linéaire pour la minification, l'agrandissement et l'échantillonnage de niveau mip. Comparer le résultat à la valeur de comparaison. |
| D3D12\_FILTER\_COMPARISON\_ANISOTROPIC | Utiliser l'interpolation anisotrope pour la minification, l'agrandissement et l'échantillonnage de niveau mip. Comparer 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-CA/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-CA/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-CA/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-CA/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-CA/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-CA/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-CA/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-CA/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-CA/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-CA/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-CA/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-CA/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-CA/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-CA/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-CA/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-CA/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-CA/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-CA/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-CA/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 indéfini se produit dans certains cas où le choix entre agrandissement et minification est ambigu. Pour éviter ce comportement indéfini, utilisez des modes de filtre qui emploient des opérations de filtrage semblables pour la minification et l'agrandissement (ou utilisez le filtrage anisotrope, qui évite également ce problème).</div>

<div />

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

Les fonctions d'échantillonnage de texture du langage HLSL (Microsoft High Level Shader Language) prennent également en charge le filtrage par comparaison pendant l'échantillonnage de texture. Le filtrage par comparaison compare chaque texel échantillonné à une valeur de comparaison. Le résultat booléen est mélangé de la même façon que le filtrage de texture normal.

Vous pouvez utiliser des fonctions intrinsèques HLSL d'échantillonnage de texture qui implémentent uniquement le filtrage de texture, ou des fonctions complémentaires qui utilisent le filtrage de texture avec le filtrage par 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 par 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 qui ont les 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 de base](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-CA/reference/graphics/d3d12/enums/d3d12_filter_type_public.md)
- [D3D12_FILTER_REDUCTION_TYPE](/fr-CA/reference/graphics/d3d12/enums/d3d12_filter_reduction_type_public.md)
- [D3D12_SAMPLER_DESC](/fr-CA/reference/graphics/d3d12/structs/d3d12_sampler_desc_public.md)
- [D3D12_STATIC_SAMPLER_DESC](/fr-CA/reference/graphics/d3d12/structs/d3d12_static_sampler_desc_public.md)
- [D3D12_FEATURE](/fr-CA/reference/graphics/d3d12/enums/d3d12_feature_public.md)
