Compartilhar via


estrutura D3D12_SHADER_RESOURCE_VIEW_DESC (d3d12.h)

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

Sintaxe

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;

Membros

Format

Um valor de tipo DXGI_FORMAT que especifica o formato de exibição. Consulte Observações.

ViewDimension

Um valor de tipo D3D12_SRV_DIMENSION que especifica o tipo de recurso da exibição. Esse tipo é o mesmo que o tipo de recurso do recurso subjacente. Esse membro também determina quais _SRV usar na união abaixo.

Shader4ComponentMapping

Um valor, construído usando a macro D3D12_ENCODE_SHADER_4_COMPONENT_MAPPING . 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 dessa SRV (exibição de recurso de sombreador). Por exemplo, ele pode rotear o componente 1 (verde) da memória, ou a constante 0, para o componente 2 (.b) do valor fornecido ao sombreador.

Buffer

Uma estrutura D3D12_BUFFER_SRV que exibe o recurso como um buffer.

Texture1D

Uma estrutura D3D12_TEX1D_SRV que exibe o recurso como uma textura 1D.

Texture1DArray

Uma estrutura D3D12_TEX1D_ARRAY_SRV que exibe o recurso como uma matriz de textura 1D.

Texture2D

Uma estrutura D3D12_TEX2D_SRV que exibe o recurso como uma textura 2D.

Texture2DArray

Uma estrutura D3D12_TEX2D_ARRAY_SRV que exibe o recurso como uma matriz de textura 2D.

Texture2DMS

Uma estrutura D3D12_TEX2DMS_SRV que exibe o recurso como uma textura 2D-multisampled.

Texture2DMSArray

Uma estrutura D3D12_TEX2DMS_ARRAY_SRV que exibe o recurso como uma matriz de textura 2D-multisampled-texture.

Texture3D

Uma estrutura D3D12_TEX3D_SRV que exibe o recurso como uma textura 3D.

TextureCube

Uma estrutura D3D12_TEXCUBE_SRV que exibe o recurso como uma textura de cubo 3D.

TextureCubeArray

Uma estrutura D3D12_TEXCUBE_ARRAY_SRV que exibe o recurso como uma matriz de textura de cubo 3D.

RaytracingAccelerationStructure

Uma estrutura D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV que exibe o recurso como uma estrutura de aceleração de raytracing.

Comentários

Uma exibição é uma maneira específica 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 do modo de exibição de recurso deve especificar um formato tipado que seja compatível com o formato de recurso. Isso significa que você não pode criar uma descrição de exibição de recurso usando qualquer formato com _TYPELESS no nome. No entanto, você pode exibir um recurso sem tipo especificando um formato tipado para o modo de exibição. Por exemplo, um recurso de DXGI_FORMAT_R32G32B32_TYPELESS pode ser exibido com um destes formatos tipado: DXGI_FORMAT_R32G32B32_FLOAT, DXGI_FORMAT_R32G32B32_UINT e DXGI_FORMAT_R32G32B32_SINT, pois esses formatos tipado são compatíveis com o recurso sem tipo.

Crie uma descrição de shader-resource-view chamando ID3D12Device::CreateShaderResourceView.

Requisitos

   
Cabeçalho d3d12.h

Confira também

Estruturas do núcleo