Unity 6.3
0 онлайн 87 гостей 3 в системе
Вход

Light.AddCommandBufferAsync

Declaration

public void AddCommandBufferAsync(Rendering.LightEvent evt, Rendering.CommandBuffer buffer, Rendering.ComputeQueueType queueType);
public void AddCommandBufferAsync(Rendering.LightEvent evt, Rendering.CommandBuffer buffer, Rendering.ShadowMapPass shadowPassMask, Rendering.ComputeQueueType queueType);

Параметры

Параметр Описание
возможно Точка во время обработки графики, в которой этот командный буфер должен начаться на GPU.
буфер Буфер для выполнения.
queueType Тип желаемой очереди асинхронных вычислений для выполнения буфера.
shadowPassMask Маска, указывающая, для какого теневого прохода будет выполняться буфер.

Описание

Добавляет командный буфер в очереди асинхронных вычислений GPU и выполняет этот командный буфер, когда обработка графики достигает заданной точки.

Выполнение буфера команды асинхронного вычисления на GPU когда обработка графических очередей достигает точки, описанной параметром evt.

Несколько командных буферов могут быть установлены для выполнения при одном и том же событии light (или даже один и тот же буфер может быть добавлен несколько раз). RemoveCommandBuffer.

Важная: Этот API совместим только с встроенным Render Pipeline.

Передача теневого пропуска маски позволяет подробно контролировать, какие теневые пропуски будут выполнять буфер.

Буфер команд может вызывать только следующие команды для выполнения в очередях асинхронных вычислений, в противном случае регистрируется ошибка и отображается в окне Редактора:

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

Все команды в буфере гарантировано выполняются в одной и той же очереди. Если целевая платформа не поддерживает асинхронные вычислительные очереди, то работа отправляется в графическую очередь.

Дополнительные ресурсы:GPUFence, SystemInfo.supportsAsyncCompute, CommandBuffer, RemoveCommandBuffer, GetCommandBuffers.