Camera.AddCommandBufferAsync
Declaration
public void AddCommandBufferAsync(Rendering.CameraEvent evt, Rendering.CommandBuffer buffer, Rendering.ComputeQueueType queueType);Параметры
| Параметр | Описание |
|---|---|
| возможно | Точка во время обработки графики, в которой этот командный буфер должен начаться на GPU. |
| буфер | Буфер для выполнения. |
| queueType | Тип желаемой очереди асинхронных вычислений для выполнения буфера. |
Описание
Добавляет командный буфер в очереди асинхронных вычислений GPU и выполняет этот командный буфер, когда обработка графики достигает заданной точки.
Выполняет буфер команды асинхронного вычисления на GPU когда обработка графических очередей достигает точки, описанной параметром evt.
Несколько командных буферов могут быть установлены для выполнения при одном и том же событии камеры (или даже один и тот же буфер может быть добавлен несколько раз). RemoveCommandBuffer.
Буфер команд может вызывать только следующие команды для выполнения в очередях асинхронных вычислений, в противном случае будет зарегистрирована ошибка и отображена в окне Редактора:
CommandBuffer.BeginSample
CommandBuffer.BuildRayTracingAccelerationStructure
CommandBuffer.CopyCounterValue
CommandBuffer.CopyTexture
CommandBuffer.CreateGPUFence
CommandBuffer.DispatchCompute
CommandBuffer.EndSample
CommandBuffer.IssuePluginEvent
CommandBuffer.SetComputeBufferParam
CommandBuffer.SetComputeFloatParam
CommandBuffer.SetComputeFloatParams
CommandBuffer.SetComputeTextureParam
CommandBuffer.SetComputeVectorParam
CommandBuffer.WaitOnGPUFence
Все команды в буфере гарантировано выполняются в одной и той же очереди. Если целевая платформа не поддерживает асинхронные вычислительные очереди, то работа отправляется в графическую очередь. Это API доступен только со встроенным рендерингом.
Дополнительные ресурсы:GPUFence, SystemInfo.supportsAsyncCompute, CommandBuffer, RemoveCommandBuffer, GetCommandBuffers.