版本: Unity 6 (6000.0)
语言英语
  • C#

RayTracingShader.DispatchIndirect

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交内容,但我们会阅读用户提出的每个建议,并在必要时进行更新。

关闭

提交失败

由于某些原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

声明

public void DispatchIndirect(string rayGenFunctionName, GraphicsBuffer argsBuffer, uint argsOffset, Camera camera);

参数

rayGenFunctionName 光线生成着色器的名称。
argsBuffer 包含调度维度的缓冲区。
argsOffset 缓冲区中调度维度开始的字节偏移量。
camera 如果您传递此参数,Unity 会设置与该相机相关的内置着色器变量。

描述

调度此 RayTracingShader

此方法类似于 Dispatch,但 GPU 从 argsBuffer 中检索调度维度。典型用例是使用 ComputeShader 生成任意数量的数据,然后调度该数据,而无需将数据大小读回 CPU。

包含参数的缓冲区 argsBuffer 必须在给定的 argsOffset 值处包含三个表示调度维度的整数:宽度、高度和深度。

其他资源:SystemInfo.supportsIndirectDispatchRaysGraphicsBuffer.CopyCount