D3D12_DISPATCH_RAYS_DESC構造体 (d3d12.h)

ID3D12GraphicsCommandList4::D ispatchRays の呼び出しで開始されるレイ ディスパッチ操作のプロパティについて説明します。

構文

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;

メンバー

RayGenerationShaderRecord

使用するレイ生成シェーダーのシェーダー レコード。

が指すメモリは、 D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE状態である必要があります。

アドレスは、 D3D12_RAYTRACING_SHADER_TABLE_BYTE_ALIGNMENTとして定義され、範囲 [0...4096] バイトの 64 バイトにアラインされている必要があります。

MissShaderTable

ミス シェーダーのシェーダー テーブル。

ストライドはレコードストライドであり、 D3D12_RAYTRACING_SHADER_RECORD_BYTE_ALIGNMENTとして定義され、範囲 [0....4096] バイトで 32 バイトに揃える必要があります。 0 を使用できます。

が指すメモリは、 D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE状態である必要があります。

アドレスは、 D3D12_RAYTRACING_SHADER_TABLE_BYTE_ALIGNMENTとして定義された 64 バイトに揃える必要があります。

HitGroupTable

ヒット グループのシェーダー テーブル。

ストライドはレコードストライドであり、 D3D12_RAYTRACING_SHADER_RECORD_BYTE_ALIGNMENTとして定義され、範囲 [0....4096] バイトで 32 バイトに揃える必要があります。 0 を使用できます。

が指すメモリは、 D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE状態である必要があります。

アドレスは、 D3D12_RAYTRACING_SHADER_TABLE_BYTE_ALIGNMENTとして定義された 64 バイトに揃える必要があります。

CallableShaderTable

呼び出し可能シェーダーのシェーダー テーブル。

ストライドはレコードストライドであり、 D3D12_RAYTRACING_SHADER_RECORD_BYTE_ALIGNMENTとして定義された 32 バイトにアラインする必要があります。 0 を使用できます。

が指すメモリは、 D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE状態である必要があります。

アドレスは、 D3D12_RAYTRACING_SHADER_TABLE_BYTE_ALIGNMENTとして定義された 64 バイトに揃える必要があります。

Width

生成シェーダー スレッド グリッドの幅。

Height

生成シェーダー スレッド グリッドの高さ。

Depth

生成シェーダー スレッド グリッドの深さ。

要件

要件
Header d3d12.h