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

> Décrit une vue de ressource de nuanceur. (D3D12_SHADER_RESOURCE_VIEW_DESC)

Décrit une vue de ressource de nuanceur (SRV).

## Syntaxe

```cpp theme={null}
typedef struct D3D12_SHADER_RESOURCE_VIEW_DESC
{
    DXGI_FORMAT Format;
    D3D12_SRV_DIMENSION ViewDimension;
    UINT Shader4ComponentMapping;
    D3D12_BUFFER_SRV Buffer;
    D3D12_TEX1D_SRV Texture1D;
    D3D12_TEX1D_ARRAY_SRV Texture1DArray;
    D3D12_TEX2D_SRV Texture2D;
    D3D12_TEX2D_ARRAY_SRV Texture2DArray;
    D3D12_TEX2DMS_SRV Texture2DMS;
    D3D12_TEX2DMS_ARRAY_SRV Texture2DMSArray;
    D3D12_TEX3D_SRV Texture3D;
    D3D12_TEXCUBE_SRV TextureCube;
    D3D12_TEXCUBE_ARRAY_SRV TextureCubeArray;
    UNKNOWN_TYPE RaytracingAccelerationStructure;
} D3D12_SHADER_RESOURCE_VIEW_DESC
```

### Membres

*Format*\
Type : DXGI\_FORMAT

Une valeur de type [DXGI\_FORMAT](https://learn.microsoft.com/en-us/windows/desktop/api/dxgiformat/ne-dxgiformat-dxgi_format) qui spécifie le format d'affichage. Voir les remarques.

*ViewDimension*\
Type : D3D12\_SRV\_DIMENSION

Une valeur de type [D3D12\_SRV\_DIMENSION](/fr-CA/reference/graphics/d3d12_x/enums/d3d12_srv_dimension) qui spécifie le type de ressource de la vue. Ce type est identique au type de ressource de la ressource sous-jacente. Ce membre détermine également la structure \_SRV à utiliser dans l'union ci-dessous.

*Shader4ComponentMapping*\
Type : UINT

Une valeur construite au moyen de la macro [D3D12\_ENCODE\_SHADER\_4\_COMPONENT\_MAPPING](/fr-CA/reference/graphics/d3d12/enums/d3d12_shader_component_mapping_public). L'énumération **D3D12\_SHADER\_COMPONENT\_MAPPING** spécifie les valeurs de la mémoire qui doivent être retournées lorsque la texture est accédée dans un nuanceur au moyen de cette vue de ressource de nuanceur (SRV). Par exemple, elle peut acheminer le composant 1 (vert) de la mémoire, ou la constante `0`, vers le composant 2 (`.b`) de la valeur fournie au nuanceur.

*Buffer*\
Type : D3D12\_BUFFER\_SRV

Une structure [D3D12\_BUFFER\_SRV](/fr-CA/reference/graphics/d3d12/structs/d3d12_buffer_srv_public) qui présente la ressource comme une mémoire tampon.

*Texture1D*\
Type : D3D12\_TEX1D\_SRV

Une structure [D3D12\_TEX1D\_SRV](/fr-CA/reference/graphics/d3d12/structs/d3d12_tex1d_srv_public) qui présente la ressource comme une texture 1D.

*Texture1DArray*\
Type : D3D12\_TEX1D\_ARRAY\_SRV

Une structure [D3D12\_TEX1D\_ARRAY\_SRV](/fr-CA/reference/graphics/d3d12/structs/d3d12_tex1d_array_srv_public) qui présente la ressource comme un tableau de textures 1D.

*Texture2D*\
Type : D3D12\_TEX2D\_SRV

Une structure [D3D12\_TEX2D\_SRV](/fr-CA/reference/graphics/d3d12/structs/d3d12_tex2d_srv_public) qui présente la ressource comme une texture 2D.

*Texture2DArray*\
Type : D3D12\_TEX2D\_ARRAY\_SRV

Une structure [D3D12\_TEX2D\_ARRAY\_SRV](/fr-CA/reference/graphics/d3d12/structs/d3d12_tex2d_array_srv_public) qui présente la ressource comme un tableau de textures 2D.

*Texture2DMS*\
Type : D3D12\_TEX2DMS\_SRV

Une structure [D3D12\_TEX2DMS\_SRV](/fr-CA/reference/graphics/d3d12/structs/d3d12_tex2dms_srv_public) qui présente la ressource comme une texture 2D multiéchantillonnée.

*Texture2DMSArray*\
Type : D3D12\_TEX2DMS\_ARRAY\_SRV

Une structure [D3D12\_TEX2DMS\_ARRAY\_SRV](/fr-CA/reference/graphics/d3d12/structs/d3d12_tex2dms_array_srv_public) qui présente la ressource comme un tableau de textures 2D multiéchantillonnées.

*Texture3D*\
Type : D3D12\_TEX3D\_SRV

Une structure [D3D12\_TEX3D\_SRV](/fr-CA/reference/graphics/d3d12/structs/d3d12_tex3d_srv_public) qui présente la ressource comme une texture 3D.

*TextureCube*\
Type : D3D12\_TEXCUBE\_SRV

Une structure [D3D12\_TEXCUBE\_SRV](/fr-CA/reference/graphics/d3d12/structs/d3d12_texcube_srv_public) qui présente la ressource comme une texture cubique 3D.

*TextureCubeArray*\
Type : D3D12\_TEXCUBE\_ARRAY\_SRV

Une structure [D3D12\_TEXCUBE\_ARRAY\_SRV](/fr-CA/reference/graphics/d3d12/structs/d3d12_texcube_array_srv_public) qui présente la ressource comme un tableau de textures cubiques 3D.

*RaytracingAccelerationStructure*\
Une structure [D3D12\_RAYTRACING\_ACCELERATION\_STRUCTURE\_SRV](/fr-CA/reference/graphics/d3d12/structs/d3d12_raytracing_acceleration_structure_srv_public) qui présente la ressource comme une structure d'accélération de lancer de rayons.

## Remarques

Une vue est une façon propre à un format d'examiner les données d'une ressource. La vue détermine quelles données examiner et comment elles sont converties lors de leur lecture.

Lors de l'affichage d'une ressource, la description de la vue de ressource doit spécifier un format typé compatible avec le format de la ressource. Cela signifie que vous ne pouvez pas créer une description de vue de ressource au moyen d'un format dont le nom contient \_TYPELESS. Vous pouvez toutefois afficher une ressource sans type en spécifiant un format typé pour la vue. Par exemple, une ressource DXGI\_FORMAT\_R32G32B32\_TYPELESS peut être affichée avec l'un de ces formats typés : DXGI\_FORMAT\_R32G32B32\_FLOAT, DXGI\_FORMAT\_R32G32B32\_UINT et DXGI\_FORMAT\_R32G32B32\_SINT, puisque ces formats typés sont compatibles avec la ressource sans type.

Créez une description de vue de ressource de nuanceur en appelant [ID3D12Device::CreateShaderResourceView](/fr-CA/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createshaderresourceview_public).

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

[Structures de base](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/direct3d-12-structures)


## Related topics

- [CreateShaderResourceView](/fr-CA/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createshaderresourceview_public.md)
- [D3D12_BUFFER_SRV](/fr-CA/reference/graphics/d3d12/structs/d3d12_buffer_srv_public.md)
- [D3D12_TEXCUBE_SRV](/fr-CA/reference/graphics/d3d12/structs/d3d12_texcube_srv_public.md)
- [D3D12_TEX2D_SRV](/fr-CA/reference/graphics/d3d12/structs/d3d12_tex2d_srv_public.md)
- [D3D12_TEXCUBE_ARRAY_SRV](/fr-CA/reference/graphics/d3d12/structs/d3d12_texcube_array_srv_public.md)
