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 |