> ## 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](/zh-TW/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](/zh-TW/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](/zh-TW/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](/zh-TW/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](/zh-TW/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-TW/reference/graphics/d3d12/interfaces/id3d12graphicscommandlist4/methods/id3d12graphicscommandlist4_dispatchrays_public.md)
- [D3D12_RAYTRACING_GEOMETRY_DESC (XBOX Series 主機)](/zh-TW/reference/graphics/d3d12/structs/d3d12_raytracing_geometry_desc_public.md)
- [D3D12_RAYTRACING_INSTANCE_DESC (XBOX Series 主機)](/zh-TW/reference/graphics/d3d12/structs/d3d12_raytracing_instance_desc_public.md)
- [D3D12_RAYTRACING_GEOMETRY_AABBS_DESC (XBOX Series 主機)](/zh-TW/reference/graphics/d3d12/structs/d3d12_raytracing_geometry_aabbs_desc_public.md)
- [D3D12_RAYTRACING_GEOMETRY_FLAGS (XBOX Series 主機)](/zh-TW/reference/graphics/d3d12/enums/d3d12_raytracing_geometry_flags_public.md)
