> ## 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) 状态。

地址必须按 64 字节对齐(定义为 [D3D12\_RAYTRACING\_SHADER\_TABLE\_BYTE\_ALIGNMENT](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/constants)),范围为 \[0...4096] 字节。

*MissShaderTable*\
类型:D3D12\_GPU\_VIRTUAL\_ADDRESS\_RANGE\_AND\_STRIDE

未命中着色器的着色器表。

步长为记录步长,必须按 32 字节对齐(定义为 [D3D12\_RAYTRACING\_SHADER\_RECORD\_BYTE\_ALIGNMENT](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/constants)),范围为 \[0...4096] 字节。允许为 0。

指向的内存必须处于 [D3D12\_RESOURCE\_STATE\_NON\_PIXEL\_SHADER\_RESOURCE](/reference/graphics/d3d12_x/enums/d3d12_resource_states) 状态。

地址必须按 64 字节对齐(定义为 [D3D12\_RAYTRACING\_SHADER\_TABLE\_BYTE\_ALIGNMENT](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/constants))。

*HitGroupTable*\
类型:D3D12\_GPU\_VIRTUAL\_ADDRESS\_RANGE\_AND\_STRIDE

命中组的着色器表。

步长为记录步长,必须按 32 字节对齐(定义为 [D3D12\_RAYTRACING\_SHADER\_RECORD\_BYTE\_ALIGNMENT](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/constants)),范围为 \[0...4096] 字节。允许为 0。

指向的内存必须处于 [D3D12\_RESOURCE\_STATE\_NON\_PIXEL\_SHADER\_RESOURCE](/reference/graphics/d3d12_x/enums/d3d12_resource_states) 状态。

地址必须按 64 字节对齐(定义为 [D3D12\_RAYTRACING\_SHADER\_TABLE\_BYTE\_ALIGNMENT](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/constants))。

*CallableShaderTable*\
类型:D3D12\_GPU\_VIRTUAL\_ADDRESS\_RANGE\_AND\_STRIDE

可调用着色器的着色器表。

步长为记录步长,必须按 32 字节对齐(定义为 [D3D12\_RAYTRACING\_SHADER\_RECORD\_BYTE\_ALIGNMENT](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/constants))。允许为 0。

指向的内存必须处于 [D3D12\_RESOURCE\_STATE\_NON\_PIXEL\_SHADER\_RESOURCE](/reference/graphics/d3d12_x/enums/d3d12_resource_states) 状态。

地址必须按 64 字节对齐(定义为 [D3D12\_RAYTRACING\_SHADER\_TABLE\_BYTE\_ALIGNMENT](https://learn.microsoft.com/en-us/windows/desktop/direct3d12/constants))。

*Width*\
类型:UINT

生成着色器线程网格的宽度。

*Height*\
类型:UINT

生成着色器线程网格的高度。

*Depth*\
类型:UINT

生成着色器线程网格的深度。

## 要求

**头文件:** d3d12\_xs.h\
**库:** d3d12\_xs.lib\
**支持的平台**:XBOX Series 主机


## Related topics

- [DispatchRays (XBOX Series 主机)](/zh-CN/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist4/methods/id3d12graphicscommandlist4_dispatchrays_public.md)
- [D3D12_RAYTRACING_GEOMETRY_FLAGS (XBOX Series 主机)](/zh-CN/reference/graphics/d3d12/enums/d3d12_raytracing_geometry_flags_public.md)
- [D3D12_RAYTRACING_GEOMETRY_TYPE (XBOX Series 主机)](/zh-CN/reference/graphics/d3d12/enums/d3d12_raytracing_geometry_type_public.md)
- [D3D12_RAYTRACING_GEOMETRY_DESC (XBOX Series consoles)](/zh-CN/reference/graphics/d3d12/structs/d3d12_raytracing_geometry_desc_public.md)
- [D3D12_RAYTRACING_INSTANCE_DESC (XBOX Series consoles)](/zh-CN/reference/graphics/d3d12/structs/d3d12_raytracing_instance_desc_public.md)
