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 |