Freigeben über


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 0an 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

Weitere Informationen

Core-Strukturen