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

> Descreve uma exibição de recurso de sombreador. (D3D12_SHADER_RESOURCE_VIEW_DESC)

Descreve uma exibição de recurso de sombreador (SRV).

## Sintaxe

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

### Membros

*Format*\
Tipo: DXGI\_FORMAT

Um valor do tipo [DXGI\_FORMAT](https://learn.microsoft.com/en-us/windows/desktop/api/dxgiformat/ne-dxgiformat-dxgi_format) que especifica o formato de exibição. Confira os comentários.

*ViewDimension*\
Tipo: D3D12\_SRV\_DIMENSION

Um valor do tipo [D3D12\_SRV\_DIMENSION](/pt-BR/reference/graphics/d3d12_x/enums/d3d12_srv_dimension) que especifica o tipo de recurso da exibição. Esse tipo é igual ao tipo de recurso do recurso subjacente. Este membro também determina qual \_SRV usar na união abaixo.

*Shader4ComponentMapping*\
Tipo: UINT

Um valor construído usando a macro [D3D12\_ENCODE\_SHADER\_4\_COMPONENT\_MAPPING](/pt-BR/reference/graphics/d3d12/enums/d3d12_shader_component_mapping_public). A enumeração **D3D12\_SHADER\_COMPONENT\_MAPPING** especifica quais valores da memória devem ser retornados quando a textura é acessada em um sombreador por meio desta exibição de recurso de sombreador (SRV). Por exemplo, ela pode encaminhar o componente 1 (verde) da memória, ou a constante `0`, para o componente 2 (`.b`) do valor fornecido ao sombreador.

*Buffer*\
Tipo: D3D12\_BUFFER\_SRV

Uma estrutura [D3D12\_BUFFER\_SRV](/pt-BR/reference/graphics/d3d12/structs/d3d12_buffer_srv_public) que exibe o recurso como um buffer.

*Texture1D*\
Tipo: D3D12\_TEX1D\_SRV

Uma estrutura [D3D12\_TEX1D\_SRV](/pt-BR/reference/graphics/d3d12/structs/d3d12_tex1d_srv_public) que exibe o recurso como uma textura 1D.

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

Uma estrutura [D3D12\_TEX1D\_ARRAY\_SRV](/pt-BR/reference/graphics/d3d12/structs/d3d12_tex1d_array_srv_public) que exibe o recurso como uma matriz de texturas 1D.

*Texture2D*\
Tipo: D3D12\_TEX2D\_SRV

Uma estrutura [D3D12\_TEX2D\_SRV](/pt-BR/reference/graphics/d3d12/structs/d3d12_tex2d_srv_public) que exibe o recurso como uma textura 2D.

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

Uma estrutura [D3D12\_TEX2D\_ARRAY\_SRV](/pt-BR/reference/graphics/d3d12/structs/d3d12_tex2d_array_srv_public) que exibe o recurso como uma matriz de texturas 2D.

*Texture2DMS*\
Tipo: D3D12\_TEX2DMS\_SRV

Uma estrutura [D3D12\_TEX2DMS\_SRV](/pt-BR/reference/graphics/d3d12/structs/d3d12_tex2dms_srv_public) que exibe o recurso como uma textura 2D com várias amostras.

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

Uma estrutura [D3D12\_TEX2DMS\_ARRAY\_SRV](/pt-BR/reference/graphics/d3d12/structs/d3d12_tex2dms_array_srv_public) que exibe o recurso como uma matriz de texturas 2D com várias amostras.

*Texture3D*\
Tipo: D3D12\_TEX3D\_SRV

Uma estrutura [D3D12\_TEX3D\_SRV](/pt-BR/reference/graphics/d3d12/structs/d3d12_tex3d_srv_public) que exibe o recurso como uma textura 3D.

*TextureCube*\
Tipo: D3D12\_TEXCUBE\_SRV

Uma estrutura [D3D12\_TEXCUBE\_SRV](/pt-BR/reference/graphics/d3d12/structs/d3d12_texcube_srv_public) que exibe o recurso como uma textura de cubo 3D.

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

Uma estrutura [D3D12\_TEXCUBE\_ARRAY\_SRV](/pt-BR/reference/graphics/d3d12/structs/d3d12_texcube_array_srv_public) que exibe o recurso como uma matriz de texturas de cubo 3D.

*RaytracingAccelerationStructure*\
Uma estrutura [D3D12\_RAYTRACING\_ACCELERATION\_STRUCTURE\_SRV](/pt-BR/reference/graphics/d3d12/structs/d3d12_raytracing_acceleration_structure_srv_public) que exibe o recurso como uma estrutura de aceleração de traçado de raios.

## Comentários

Uma exibição é uma forma específica de formato de examinar os dados em um recurso. A exibição determina quais dados examinar e como eles são convertidos quando lidos.

Ao exibir um recurso, a descrição da exibição de recurso deve especificar um formato tipado que seja compatível com o formato do recurso. Isso significa que você não pode criar uma descrição de exibição de recurso usando nenhum formato com \_TYPELESS no nome. No entanto, você pode exibir um recurso sem tipo especificando um formato tipado para a exibição. Por exemplo, um recurso DXGI\_FORMAT\_R32G32B32\_TYPELESS pode ser exibido com um destes formatos tipados: DXGI\_FORMAT\_R32G32B32\_FLOAT, DXGI\_FORMAT\_R32G32B32\_UINT e DXGI\_FORMAT\_R32G32B32\_SINT, pois esses formatos tipados são compatíveis com o recurso sem tipo.

Crie uma descrição de exibição de recurso de sombreador chamando [ID3D12Device::CreateShaderResourceView](/pt-BR/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createshaderresourceview_public).

## Requisitos

**Cabeçalho:** d3d12\_xs.h ou d3d12\_x.h\
**Biblioteca:** d3d12\_xs.lib ou d3d12\_x.lib\
**Plataformas com suporte**: consoles XBOX Series e família XBOX One

## Confira também

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


## Related topics

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