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 있어야 합니다.
주소는 64바이트, D3D12_RAYTRACING_SHADER_TABLE_BYTE_ALIGNMENT 정의 및 범위 [0...4096] 바이트에 맞춰야 합니다.
MissShaderTable
누락된 셰이더에 대한 셰이더 테이블입니다.
stride는 레코드 보폭이며 32바이트, D3D12_RAYTRACING_SHADER_RECORD_BYTE_ALIGNMENT 정의 및 범위 [0...4096] 바이트에 맞춰야 합니다. 0은 허용됩니다.
가리키는 메모리는 상태 D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE 있어야 합니다.
주소는 D3D12_RAYTRACING_SHADER_TABLE_BYTE_ALIGNMENT 정의된 64바이트에 맞춰야 합니다.
HitGroupTable
적중 그룹의 셰이더 테이블입니다.
stride는 레코드 보폭이며 32바이트, D3D12_RAYTRACING_SHADER_RECORD_BYTE_ALIGNMENT 정의 및 범위 [0...4096] 바이트에 맞춰야 합니다. 0은 허용됩니다.
가리키는 메모리는 상태 D3D12_RESOURCE_STATE_NON_PIXEL_SHADER_RESOURCE 있어야 합니다.
주소는 D3D12_RAYTRACING_SHADER_TABLE_BYTE_ALIGNMENT 정의된 64바이트에 맞춰야 합니다.
CallableShaderTable
호출 가능한 셰이더에 대한 셰이더 테이블입니다.
stride는 레코드 보폭이며 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
생성 셰이더 스레드 그리드의 깊이입니다.
요구 사항
요구 사항 | 값 |
---|---|
헤더 | d3d12.h |