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

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. Consultez les remarques.

*ViewDimension*\
Type : D3D12\_SRV\_DIMENSION

Valeur de type [D3D12\_SRV\_DIMENSION](/fr/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 la ressource sous-jacente. Ce membre détermine également la structure \_SRV à utiliser dans l'union ci-dessous.

*Shader4ComponentMapping*\
Type : UINT

Valeur construite à l'aide de la macro [D3D12\_ENCODE\_SHADER\_4\_COMPONENT\_MAPPING](/fr/reference/graphics/d3d12/enums/d3d12_shader_component_mapping_public). L'énumération **D3D12\_SHADER\_COMPONENT\_MAPPING** spécifie les valeurs de la mémoire à renvoyer lorsque la texture est accessible dans un nuanceur via 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

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

*Texture1D*\
Type : D3D12\_TEX1D\_SRV

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

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

Structure [D3D12\_TEX1D\_ARRAY\_SRV](/fr/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

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

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

Structure [D3D12\_TEX2D\_ARRAY\_SRV](/fr/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

Structure [D3D12\_TEX2DMS\_SRV](/fr/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

Structure [D3D12\_TEX2DMS\_ARRAY\_SRV](/fr/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

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

*TextureCube*\
Type : D3D12\_TEXCUBE\_SRV

Structure [D3D12\_TEXCUBE\_SRV](/fr/reference/graphics/d3d12/structs/d3d12_texcube_srv_public) qui présente la ressource comme une texture de cube 3D.

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

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

*RaytracingAccelerationStructure*\
Structure [D3D12\_RAYTRACING\_ACCELERATION\_STRUCTURE\_SRV](/fr/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 manière propre à un format d'examiner les données d'une ressource. La vue détermine les données à examiner et la façon dont 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 à l'aide 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, car 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/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 principales](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/direct3d-12-structures)


## Related topics

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