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

> Describe una vista de recursos de sombreador. (D3D12_SHADER_RESOURCE_VIEW_DESC)

Describe una vista de recursos de sombreador (SRV).

## Sintaxis

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

### Miembros

*Format*\
Tipo: DXGI\_FORMAT

Un valor de tipo [DXGI\_FORMAT](https://learn.microsoft.com/en-us/windows/desktop/api/dxgiformat/ne-dxgiformat-dxgi_format) que especifica el formato de visualización. Consulte los comentarios.

*ViewDimension*\
Tipo: D3D12\_SRV\_DIMENSION

Un valor de tipo [D3D12\_SRV\_DIMENSION](/reference/graphics/d3d12_x/enums/d3d12_srv_dimension) que especifica el tipo de recurso de la vista. Este tipo es el mismo que el tipo de recurso del recurso subyacente. Este miembro también determina qué \_SRV se debe usar en la unión siguiente.

*Shader4ComponentMapping*\
Tipo: UINT

Un valor construido mediante la macro [D3D12\_ENCODE\_SHADER\_4\_COMPONENT\_MAPPING](/reference/graphics/d3d12/enums/d3d12_shader_component_mapping_public). La enumeración **D3D12\_SHADER\_COMPONENT\_MAPPING** especifica qué valores de la memoria se deben devolver cuando se accede a la textura en un sombreador a través de esta vista de recursos de sombreador (SRV). Por ejemplo, puede enrutar el componente 1 (verde) desde la memoria, o la constante `0`, al componente 2 (`.b`) del valor proporcionado al sombreador.

*Buffer*\
Tipo: D3D12\_BUFFER\_SRV

Una estructura [D3D12\_BUFFER\_SRV](/reference/graphics/d3d12/structs/d3d12_buffer_srv_public) que muestra el recurso como un búfer.

*Texture1D*\
Tipo: D3D12\_TEX1D\_SRV

Una estructura [D3D12\_TEX1D\_SRV](/reference/graphics/d3d12/structs/d3d12_tex1d_srv_public) que muestra el recurso como una textura 1D.

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

Una estructura [D3D12\_TEX1D\_ARRAY\_SRV](/reference/graphics/d3d12/structs/d3d12_tex1d_array_srv_public) que muestra el recurso como una matriz de texturas 1D.

*Texture2D*\
Tipo: D3D12\_TEX2D\_SRV

Una estructura [D3D12\_TEX2D\_SRV](/reference/graphics/d3d12/structs/d3d12_tex2d_srv_public) que muestra el recurso como una textura 2D.

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

Una estructura [D3D12\_TEX2D\_ARRAY\_SRV](/reference/graphics/d3d12/structs/d3d12_tex2d_array_srv_public) que muestra el recurso como una matriz de texturas 2D.

*Texture2DMS*\
Tipo: D3D12\_TEX2DMS\_SRV

Una estructura [D3D12\_TEX2DMS\_SRV](/reference/graphics/d3d12/structs/d3d12_tex2dms_srv_public) que muestra el recurso como una textura 2D con multimuestreo.

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

Una estructura [D3D12\_TEX2DMS\_ARRAY\_SRV](/reference/graphics/d3d12/structs/d3d12_tex2dms_array_srv_public) que muestra el recurso como una matriz de texturas 2D con multimuestreo.

*Texture3D*\
Tipo: D3D12\_TEX3D\_SRV

Una estructura [D3D12\_TEX3D\_SRV](/reference/graphics/d3d12/structs/d3d12_tex3d_srv_public) que muestra el recurso como una textura 3D.

*TextureCube*\
Tipo: D3D12\_TEXCUBE\_SRV

Una estructura [D3D12\_TEXCUBE\_SRV](/reference/graphics/d3d12/structs/d3d12_texcube_srv_public) que muestra el recurso como una textura de cubo 3D.

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

Una estructura [D3D12\_TEXCUBE\_ARRAY\_SRV](/reference/graphics/d3d12/structs/d3d12_texcube_array_srv_public) que muestra el recurso como una matriz de texturas de cubo 3D.

*RaytracingAccelerationStructure*\
Una estructura [D3D12\_RAYTRACING\_ACCELERATION\_STRUCTURE\_SRV](/reference/graphics/d3d12/structs/d3d12_raytracing_acceleration_structure_srv_public) que muestra el recurso como una estructura de aceleración de trazado de rayos.

## Comentarios

Una vista es una forma específica de formato de examinar los datos de un recurso. La vista determina qué datos se examinan y cómo se convierten al leerlos.

Al visualizar un recurso, la descripción de la vista de recursos debe especificar un formato con tipo que sea compatible con el formato del recurso. Esto significa que no puede crear una descripción de vista de recursos con ningún formato cuyo nombre contenga \_TYPELESS. Sin embargo, puede visualizar un recurso sin tipo especificando un formato con tipo para la vista. Por ejemplo, un recurso DXGI\_FORMAT\_R32G32B32\_TYPELESS se puede visualizar con uno de estos formatos con tipo: DXGI\_FORMAT\_R32G32B32\_FLOAT, DXGI\_FORMAT\_R32G32B32\_UINT y DXGI\_FORMAT\_R32G32B32\_SINT, ya que estos formatos con tipo son compatibles con el recurso sin tipo.

Cree una descripción de vista de recursos de sombreador llamando a [ID3D12Device::CreateShaderResourceView](/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createshaderresourceview_public).

## Requisitos

**Encabezado:** d3d12\_xs.h o d3d12\_x.h\
**Biblioteca:** d3d12\_xs.lib o d3d12\_x.lib\
**Plataformas compatibles**: consolas XBOX Series y familia XBOX One

## Consulte también

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


## Related topics

- [CreateShaderResourceView](/es/reference/graphics/d3d12/interfaces/id3d12device/methods/id3d12device_createshaderresourceview_public.md)
- [D3D12_BUFFER_SRV](/es/reference/graphics/d3d12/structs/d3d12_buffer_srv_public.md)
- [D3D12_TEXCUBE_SRV](/es/reference/graphics/d3d12/structs/d3d12_texcube_srv_public.md)
- [D3D12_TEX3D_SRV](/es/reference/graphics/d3d12/structs/d3d12_tex3d_srv_public.md)
- [D3D12_TEXCUBE_ARRAY_SRV](/es/reference/graphics/d3d12/structs/d3d12_texcube_array_srv_public.md)
