Condividi tramite


D3D12_DISPATCH_RAYS_DESC struttura (d3d12.h)

Descrive le proprietà di un'operazione di invio ray avviata con una chiamata a ID3D12GraphicsCommandList4::D ispatchRays.

Sintassi

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;

Members

RayGenerationShaderRecord

Record shader da usare per lo shader di generazione di raggi.

La memoria a cui punta deve essere in stato D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE.

L'indirizzo deve essere allineato a 64 byte, definito come D3D12_RAYTRACING_SHADER_TABLE_BYTE_ALIGNMENT e nell'intervallo [0...4096] byte.

MissShaderTable

Tabella shader per gli shader mancanti.

Lo stride è l'stride dei record e deve essere allineato a 32 byte, definito come D3D12_RAYTRACING_SHADER_RECORD_BYTE_ALIGNMENT e nell'intervallo [0...4096] byte. 0 è consentito.

La memoria a cui punta deve essere in stato D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE.

L'indirizzo deve essere allineato a 64 byte, definito come D3D12_RAYTRACING_SHADER_TABLE_BYTE_ALIGNMENT.

HitGroupTable

Tabella shader per i gruppi di hit.

Lo stride è l'stride dei record e deve essere allineato a 32 byte, definito come D3D12_RAYTRACING_SHADER_RECORD_BYTE_ALIGNMENT e nell'intervallo [0...4096] byte. 0 è consentito.

La memoria a cui punta deve essere in stato D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE.

L'indirizzo deve essere allineato a 64 byte, definito come D3D12_RAYTRACING_SHADER_TABLE_BYTE_ALIGNMENT.

CallableShaderTable

Tabella shader per gli shader chiamabili.

Lo stride è un record stride e deve essere allineato a 32 byte, definito come D3D12_RAYTRACING_SHADER_RECORD_BYTE_ALIGNMENT. 0 è consentito.

La memoria a cui punta deve essere in stato D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE.

L'indirizzo deve essere allineato a 64 byte, definito come D3D12_RAYTRACING_SHADER_TABLE_BYTE_ALIGNMENT.

Width

Larghezza della griglia di thread shader di generazione.

Height

Altezza della griglia di thread shader di generazione.

Depth

Profondità della griglia di thread shader di generazione.

Requisiti

Requisito Valore
Intestazione d3d12.h