> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# D3D12_DISPATCH_RAYS_DESC (XBOX Series 콘솔)

> ID3D12GraphicsCommandList4::DispatchRays 호출로 시작되는 광선 디스패치 작업의 속성을 설명합니다.

[ID3D12GraphicsCommandList4::DispatchRays](/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist4/methods/id3d12graphicscommandlist4_dispatchrays_public) 호출로 시작되는 광선 디스패치 작업의 속성을 설명합니다.

## 구문

```cpp theme={null}
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\_GPU\_VIRTUAL\_ADDRESS\_RANGE

사용할 광선 생성 셰이더의 셰이더 레코드입니다.

가리키는 메모리는 [D3D12\_RESOURCE\_STATE\_NON\_PIXEL\_SHADER\_RESOURCE](/reference/graphics/d3d12_x/enums/d3d12_resource_states) 상태여야 합니다.

주소는 [D3D12\_RAYTRACING\_SHADER\_TABLE\_BYTE\_ALIGNMENT](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/constants)로 정의된 64바이트에 정렬되어야 하며, \[0...4096] 바이트 범위에 있어야 합니다.

*MissShaderTable*\
형식: D3D12\_GPU\_VIRTUAL\_ADDRESS\_RANGE\_AND\_STRIDE

미스 셰이더의 셰이더 테이블입니다.

스트라이드는 레코드 스트라이드이며, [D3D12\_RAYTRACING\_SHADER\_RECORD\_BYTE\_ALIGNMENT](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/constants)로 정의된 32바이트에 정렬되어야 하고 \[0...4096] 바이트 범위에 있어야 합니다. 0도 허용됩니다.

가리키는 메모리는 [D3D12\_RESOURCE\_STATE\_NON\_PIXEL\_SHADER\_RESOURCE](/reference/graphics/d3d12_x/enums/d3d12_resource_states) 상태여야 합니다.

주소는 [D3D12\_RAYTRACING\_SHADER\_TABLE\_BYTE\_ALIGNMENT](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/constants)로 정의된 64바이트에 정렬되어야 합니다.

*HitGroupTable*\
형식: D3D12\_GPU\_VIRTUAL\_ADDRESS\_RANGE\_AND\_STRIDE

히트 그룹의 셰이더 테이블입니다.

스트라이드는 레코드 스트라이드이며, [D3D12\_RAYTRACING\_SHADER\_RECORD\_BYTE\_ALIGNMENT](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/constants)로 정의된 32바이트에 정렬되어야 하고 \[0...4096] 바이트 범위에 있어야 합니다. 0도 허용됩니다.

가리키는 메모리는 [D3D12\_RESOURCE\_STATE\_NON\_PIXEL\_SHADER\_RESOURCE](/reference/graphics/d3d12_x/enums/d3d12_resource_states) 상태여야 합니다.

주소는 [D3D12\_RAYTRACING\_SHADER\_TABLE\_BYTE\_ALIGNMENT](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/constants)로 정의된 64바이트에 정렬되어야 합니다.

*CallableShaderTable*\
형식: D3D12\_GPU\_VIRTUAL\_ADDRESS\_RANGE\_AND\_STRIDE

호출 가능한(callable) 셰이더의 셰이더 테이블입니다.

스트라이드는 레코드 스트라이드이며, [D3D12\_RAYTRACING\_SHADER\_RECORD\_BYTE\_ALIGNMENT](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/constants)로 정의된 32바이트에 정렬되어야 합니다. 0도 허용됩니다.

가리키는 메모리는 [D3D12\_RESOURCE\_STATE\_NON\_PIXEL\_SHADER\_RESOURCE](/reference/graphics/d3d12_x/enums/d3d12_resource_states) 상태여야 합니다.

주소는 [D3D12\_RAYTRACING\_SHADER\_TABLE\_BYTE\_ALIGNMENT](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/constants)로 정의된 64바이트에 정렬되어야 합니다.

*Width*\
형식: UINT

생성 셰이더 스레드 그리드의 너비입니다.

*Height*\
형식: UINT

생성 셰이더 스레드 그리드의 높이입니다.

*Depth*\
형식: UINT

생성 셰이더 스레드 그리드의 깊이입니다.

## 요구 사항

**헤더:** d3d12\_xs.h\
**라이브러리:** d3d12\_xs.lib\
**지원 플랫폼:** XBOX Series 콘솔


## Related topics

- [DispatchRays (XBOX Series 콘솔)](/ko/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist4/methods/id3d12graphicscommandlist4_dispatchrays_public.md)
- [D3D12_RAYTRACING_GEOMETRY_DESC (XBOX Series 콘솔)](/ko/reference/graphics/d3d12/structs/d3d12_raytracing_geometry_desc_public.md)
- [D3D12_RAYTRACING_INSTANCE_DESC (XBOX Series 콘솔)](/ko/reference/graphics/d3d12/structs/d3d12_raytracing_instance_desc_public.md)
- [D3D12_RAYTRACING_GEOMETRY_AABBS_DESC (XBOX Series 콘솔)](/ko/reference/graphics/d3d12/structs/d3d12_raytracing_geometry_aabbs_desc_public.md)
- [D3D12_RAYTRACING_ACCELERATION_STRUCTURE_POSTBUILD_INFO_SERIALIZATION_DESC (XBOX Series 콘솔)](/ko/reference/graphics/d3d12/structs/d3d12_raytracing_acceleration_structure_postbuild_info_serialization_desc_public.md)
