D3D12_DISPATCH_RAYS_DESC-Struktur (d3d12.h)

Beschreibt die Eigenschaften eines Ray Dispatch-Vorgangs, der mit einem Aufruf von ID3D12GraphicsCommandList4::D ispatchRays initiiert wird.

Syntax

typedef struct D3D12_DISPATCH_RAYS_DESC {
  D3D12_GPU_VIRTUAL_ADDRESS_RANGE            RayGenerationShaderRecord;
  D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE MissShaderTable;
  D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE HitGroupTable;
  D3D12_GPU_VIRTUAL_ADDRESS_RANGE_AND_STRIDE CallableShaderTable;
  UINT                                       Width;
  UINT                                       Height;
  UINT                                       Depth;
} D3D12_DISPATCH_RAYS_DESC;

Member

RayGenerationShaderRecord

Der Shadereintrag für den zu verwendenden Strahlgenerierungs-Shader.

Der Speicher, auf den verwiesen wird, muss sich im Zustand D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE befinden.

Die Adresse muss an 64 Bytes ausgerichtet sein, definiert als D3D12_RAYTRACING_SHADER_TABLE_BYTE_ALIGNMENT und im Bereich [0...4096] Bytes.

MissShaderTable

Die Shadertabelle für Fehlershader.

Der Schritt ist Datensatzschritt und muss an 32 Bytes ausgerichtet werden, definiert als D3D12_RAYTRACING_SHADER_RECORD_BYTE_ALIGNMENT und im Bereich [0...4096] Bytes. 0 ist zulässig.

Der Speicher, auf den verwiesen wird, muss sich im Zustand D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE befinden.

Die Adresse muss an 64 Bytes ausgerichtet sein, die als D3D12_RAYTRACING_SHADER_TABLE_BYTE_ALIGNMENT definiert sind.

HitGroupTable

Die Shadertabelle für Treffergruppen.

Der Schritt ist Datensatzschritt und muss an 32 Bytes ausgerichtet werden, definiert als D3D12_RAYTRACING_SHADER_RECORD_BYTE_ALIGNMENT und im Bereich [0...4096] Bytes. 0 ist zulässig.

Der Speicher, auf den verwiesen wird, muss sich im Zustand D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE befinden.

Die Adresse muss an 64 Bytes ausgerichtet sein, die als D3D12_RAYTRACING_SHADER_TABLE_BYTE_ALIGNMENT definiert sind.

CallableShaderTable

Die Shadertabelle für aufrufbare Shader.

Der Schritt ist Datensatzschritt und muss an 32 Bytes ausgerichtet werden, definiert als D3D12_RAYTRACING_SHADER_RECORD_BYTE_ALIGNMENT. 0 ist zulässig.

Der Speicher, auf den verwiesen wird, muss sich im Zustand D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE befinden.

Die Adresse muss an 64 Bytes ausgerichtet sein, die als D3D12_RAYTRACING_SHADER_TABLE_BYTE_ALIGNMENT definiert sind.

Width

Die Breite des Generierungs-Shaderthreadrasters.

Height

Die Höhe des Generierungs-Shaderthreadrasters.

Depth

Die Tiefe des Generierungs-Shaderthreadrasters.

Anforderungen

Anforderung Wert
Header d3d12.h