D3D12_SHADER_RESOURCE_VIEW_DESC-Struktur (d3d12.h)
Beschreibt eine Shaderressourcenansicht (SRV).
Syntax
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;
Member
Format
Ein DXGI_FORMAT typisierter Wert, der das Anzeigeformat angibt. Siehe Bemerkungen.
ViewDimension
Ein D3D12_SRV_DIMENSION typisierter Wert, der den Ressourcentyp der Ansicht angibt. Dieser Typ entspricht dem Ressourcentyp der zugrunde liegenden Ressource. Dieses Element bestimmt auch, welche _SRV in der folgenden Union verwendet werden sollen.
Shader4ComponentMapping
Ein Wert, der mithilfe des makros D3D12_ENCODE_SHADER_4_COMPONENT_MAPPING erstellt wird. Die D3D12_SHADER_COMPONENT_MAPPING-Enumeration gibt an, welche Werte aus dem Arbeitsspeicher zurückgegeben werden sollen, wenn in einem Shader über diese Shaderressourcenansicht (SRV) auf die Textur zugegriffen wird. Beispielsweise kann sie Komponente 1 (grün) aus dem Arbeitsspeicher oder die Konstante 0
an Komponente 2 (.b
) des dem Shader angegebenen Werts weiterleiten.
Buffer
Eine D3D12_BUFFER_SRV-Struktur , die die Ressource als Puffer anzeigt.
Texture1D
Eine D3D12_TEX1D_SRV-Struktur , die die Ressource als 1D-Textur anzeigt.
Texture1DArray
Eine D3D12_TEX1D_ARRAY_SRV-Struktur , die die Ressource als 1D-Texturarray anzeigt.
Texture2D
Eine D3D12_TEX2D_SRV-Struktur , die die Ressource als 2D-Textur anzeigt.
Texture2DArray
Eine D3D12_TEX2D_ARRAY_SRV Struktur, die die Ressource als 2D-Texturarray anzeigt.
Texture2DMS
Eine D3D12_TEX2DMS_SRV-Struktur , die die Ressource als 2D-Multisampled-Textur anzeigt.
Texture2DMSArray
Eine D3D12_TEX2DMS_ARRAY_SRV-Struktur , die die Ressource als 2D-Multisampled-Texturarray anzeigt.
Texture3D
Eine D3D12_TEX3D_SRV-Struktur , die die Ressource als 3D-Textur anzeigt.
TextureCube
Eine D3D12_TEXCUBE_SRV-Struktur , die die Ressource als 3D-Cubetextur anzeigt.
TextureCubeArray
Eine D3D12_TEXCUBE_ARRAY_SRV-Struktur , die die Ressource als 3D-Cube-Texturarray anzeigt.
RaytracingAccelerationStructure
Eine D3D12_RAYTRACING_ACCELERATION_STRUCTURE_SRV Struktur, die die Ressource als Raytracingbeschleunigungsstruktur anzeigt.
Hinweise
Eine Ansicht ist eine formatspezifische Möglichkeit zum Anzeigen der Daten in einer Ressource. Die Ansicht bestimmt, welche Daten betrachtet werden sollen und wie sie beim Lesen umgewandelt werden.
Beim Anzeigen einer Ressource muss die Beschreibung der Ressourcenansicht ein typisiertes Format angeben, das mit dem Ressourcenformat kompatibel ist. Das bedeutet, dass Sie keine Ressourcenansichtsbeschreibung mit einem Beliebigen Format mit _TYPELESS im Namen erstellen können. Sie können jedoch eine typlose Ressource anzeigen, indem Sie ein typisiertes Format für die Ansicht angeben. Beispielsweise kann eine DXGI_FORMAT_R32G32B32_TYPELESS Ressource mit einem der folgenden typisierten Formate angezeigt werden: DXGI_FORMAT_R32G32B32_FLOAT, DXGI_FORMAT_R32G32B32_UINT und DXGI_FORMAT_R32G32B32_SINT, da diese typisierten Formate mit der typlosen Ressource kompatibel sind.
Erstellen Sie eine Shader-resource-view-Beschreibung, indem Sie ID3D12Device::CreateShaderResourceView aufrufen.
Anforderungen
Kopfzeile | d3d12.h |