CommandBuffer 包含一系列的渲染命令(例如设置渲染目标或绘制给定网格)。您可以命令 Unity 通过内置渲染管线中的各个点来安排并执行这些命令,从而自定义并扩展 Unity 的渲染功能。
使用 Graphics.ExecuteCommandBuffer API 即可立即执行 CommandBuffer,也可以安排它们在渲染管线中的给定点被执行。要调度这些 CommandBuffer,请结合使用 Camera.AddCommandBuffer API 和 CameraEvent 枚举,同时结合使用 Light.AddCommandBuffer API 和 LightEvent 枚举。要查看 Unity 何时执行以这种方式安排的 CommandBuffer,请参阅 CameraEvent 和 LightEvent 的执行顺序。
如需了解可通过 CommandBuffer 执行的命令的完整列表,请参阅 CommandBuffer API 文档。请注意,某些命令仅受特定硬件的支持;例如,仅 DX12 支持与光线追踪相关的命令。