다음을 통해 공유


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