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 |