Compartir a través de


estructura D3D12_SHADER_RESOURCE_VIEW_DESC (d3d12.h)

Describe una vista sombreador-recurso (SRV).

Sintaxis

typedef struct D3D12_SHADER_RESOURCE_VIEW_DESC {
  DXGI_FORMAT         Format;
  D3D12_SRV_DIMENSION ViewDimension;
  UINT                Shader4ComponentMapping;
  union {
    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;
    D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV RaytracingAccelerationStructure;
  };
} D3D12_SHADER_RESOURCE_VIEW_DESC;

Miembros

Format

Valor con tipo DXGI_FORMAT que especifica el formato de visualización. Vea Notas.

ViewDimension

Valor de tipo 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 usar en la unión siguiente.

Shader4ComponentMapping

Valor construido con la macro D3D12_ENCODE_SHADER_4_COMPONENT_MAPPING . 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 del sombreador (SRV). Por ejemplo, puede enrutar el componente 1 (verde) de la memoria, o la constante 0, al componente 2 (.b) del valor proporcionado al sombreador.

Buffer

Estructura D3D12_BUFFER_SRV que ve el recurso como un búfer.

Texture1D

Estructura D3D12_TEX1D_SRV que ve el recurso como una textura 1D.

Texture1DArray

Estructura D3D12_TEX1D_ARRAY_SRV que ve el recurso como una matriz de textura 1D.

Texture2D

Estructura D3D12_TEX2D_SRV que ve el recurso como textura 2D.

Texture2DArray

Estructura D3D12_TEX2D_ARRAY_SRV que ve el recurso como una matriz de textura 2D.

Texture2DMS

Estructura D3D12_TEX2DMS_SRV que ve el recurso como una textura multimuestreo 2D.

Texture2DMSArray

Estructura D3D12_TEX2DMS_ARRAY_SRV que ve el recurso como una matriz de texturas multimuestreo 2D.

Texture3D

Estructura D3D12_TEX3D_SRV que ve el recurso como una textura 3D.

TextureCube

Estructura D3D12_TEXCUBE_SRV que ve el recurso como una textura de cubo 3D.

TextureCubeArray

Estructura D3D12_TEXCUBE_ARRAY_SRV que ve el recurso como una matriz de texturas de cubo 3D.

RaytracingAccelerationStructure

Estructura D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV que ve el recurso como una estructura de aceleración raytracing.

Comentarios

Una vista es una manera específica del formato para examinar los datos de un recurso. La vista determina qué datos se deben examinar y cómo se convierten cuando se leen.

Al ver un recurso, la descripción de la vista de recursos debe especificar un formato con tipo, que sea compatible con el formato de recurso. Esto significa que no se puede crear una descripción de la vista de recursos con ningún formato con _TYPELESS en el nombre. Sin embargo, puede ver un recurso sin tipo especificando un formato con tipo para la vista. Por ejemplo, un recurso de DXGI_FORMAT_R32G32B32_TYPELESS se puede ver 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 tipos.

Cree una descripción de shader-resource-view llamando a ID3D12Device::CreateShaderResourceView.

Requisitos

   
Encabezado d3d12.h

Consulte también

Estructuras principales