D3D12_SHADER_RESOURCE_VIEW_DESC structure (d3d12.h)

Décrit une vue de nuanceur-ressource (SRV).

Syntaxe

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;

Membres

Format

Valeur de type DXGI_FORMAT qui spécifie le format d’affichage. Consultez la section Remarques.

ViewDimension

Valeur de type D3D12_SRV_DIMENSION qui spécifie le type de ressource de la vue. Ce type est identique au type de ressource de la ressource sous-jacente. Ce membre détermine également les _SRV à utiliser dans l’union ci-dessous.

Shader4ComponentMapping

Valeur, construite à l’aide de la macro D3D12_ENCODE_SHADER_4_COMPONENT_MAPPING . L’énumération D3D12_SHADER_COMPONENT_MAPPING spécifie les valeurs de la mémoire qui doivent être retournées lorsque la texture est accessible dans un nuanceur via cet affichage de ressources (SRV). Par exemple, il peut acheminer le composant 1 (vert) de la mémoire, ou la constante 0, dans le composant 2 (.b) de la valeur donnée au nuanceur.

Buffer

Structure D3D12_BUFFER_SRV qui affiche la ressource en tant que mémoire tampon.

Texture1D

Structure D3D12_TEX1D_SRV qui affiche la ressource sous la forme d’une texture 1D.

Texture1DArray

Structure D3D12_TEX1D_ARRAY_SRV qui affiche la ressource sous la forme d’un tableau de texture 1D.

Texture2D

Structure D3D12_TEX2D_SRV qui affiche la ressource comme une texture 2D.

Texture2DArray

Structure D3D12_TEX2D_ARRAY_SRV qui affiche la ressource sous la forme d’un tableau de texture 2D.

Texture2DMS

Une structure D3D12_TEX2DMS_SRV qui affiche la ressource sous la forme d’une texture 2D multi-échantillonnée.

Texture2DMSArray

Structure D3D12_TEX2DMS_ARRAY_SRV qui affiche la ressource sous la forme d’un tableau de textures 2D-multi-échantillonnée.

Texture3D

Structure D3D12_TEX3D_SRV qui affiche la ressource sous la forme d’une texture 3D.

TextureCube

Structure D3D12_TEXCUBE_SRV qui affiche la ressource comme une texture de cube 3D.

TextureCubeArray

Structure D3D12_TEXCUBE_ARRAY_SRV qui affiche la ressource sous la forme d’un tableau de texture 3D-cube.

RaytracingAccelerationStructure

Structure D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV qui considère la ressource comme une structure d’accélération de raytracing.

Notes

Une vue est un moyen spécifique au format d’examiner les données d’une ressource. La vue détermine les données à examiner et la façon dont elles sont converties lors de la lecture.

Lors de l’affichage d’une ressource, la description de l’affichage des ressources doit spécifier un format typé, compatible avec le format de ressource. Cela signifie donc que vous ne pouvez pas créer une description d’affichage des ressources à l’aide d’un format avec _TYPELESS dans le nom. Vous pouvez toutefois afficher une ressource sans type en spécifiant un format typé pour la vue. Par exemple, une ressource DXGI_FORMAT_R32G32B32_TYPELESS peut être consultée avec l’un de ces formats typés : DXGI_FORMAT_R32G32B32_FLOAT, DXGI_FORMAT_R32G32B32_UINT et DXGI_FORMAT_R32G32B32_SINT, car ces formats typés sont compatibles avec la ressource sans type.

Créez une description shader-resource-view en appelant ID3D12Device::CreateShaderResourceView.

Spécifications

   
En-tête d3d12.h

Voir aussi

Structures de base