Описание
Список графических команд для выполнения.
Буферы команд содержат список команд рендеринга («установить цель рендеринга, нарисовать сетку, ...»). Их можно настроить на выполнение в различных точках во время рендеринга камеры (см. Camera.AddCommandBuffer), светового рендеринга (см. Light.AddCommandBuffer) или на немедленное выполнение (см. Graphics.ExecuteCommandBuffer).
Обычно они используются для расширения конвейера рендеринга Unity некоторыми нестандартными способами. Например, вы можете отрендерить некоторые дополнительные объекты в G-буфер отложенного рендеринга после того, как все обычные объекты будут готовы, или выполнить пользовательскую обработку карт световых теней. Дополнительные сведения см. на странице обзора командных буферов.
Буферы команд можно создавать, а затем при необходимости выполнять много раз.
Смотрите так же: Camera.AddCommandBuffer, Light.AddCommandBuffer, CameraEvent, LightEvent, Graphics.ExecuteCommandBuffer, command buffers overview.
Свойства
name | Имя этого командного буфера. |
sizeInBytes | Размер этого командного буфера в байтах (только для чтения). |
Конструкторы
CommandBuffer | Создаёт новый пустой буфер команд. |
Публичные Методы
BeginSample | Добавляет команду для начала выборки профиля. |
Blit | Добавляет команду «вставить в текстуру рендеринга». |
BuildRayTracingAccelerationStructure | Добавляет команду для создания RayTracingAccelerationStructure, которая будет использоваться в отправке трассировки лучей. |
Clear | Очищает все команды в буфере. |
ClearRandomWriteTargets | Удаляет произвольные цели записи для пиксельных шейдеров уровня Shader Model 4.5. |
ClearRenderTarget | Добавляет команду «очистить цель рендеринга». |
ConvertTexture | Преобразует и копирует исходную текстуру в конечную текстуру с другим форматом или размерами. |
CopyCounterValue | Добавляет команду для копирования значения счетчика ComputeBuffer или GraphicsBuffer. |
CopyTexture | Добавляет команду для копирования текстуры в другую текстуру. |
CreateAsyncGraphicsFence | Ярлык для вызова GommandBuffer.CreateGraphicsFence с GraphicsFenceType.AsyncQueueSynchronization в качестве первого параметра. |
CreateGraphicsFence | Создает GraphicsFence, который будет передан после завершения последней команды Blit, Clear, Draw, Dispatch или Texture Copy перед этим вызовом на GPU. |
DisableScissorRect | Добавляет команду для отключения прямоугольника аппаратных ножниц. |
DisableShaderKeyword | Добавляет команду для отключения глобального ключевого слова шейдера. |
DispatchCompute | Добавляет команду для выполнения ComputeShader . |
DispatchRays | Добавляет команду для выполнения RayTracingShader. |
DrawMesh | Добавляет команду «нарисовать сетку». |
DrawMeshInstanced | Добавляет команду «рисовать сетку с созданием экземпляров». Команда не будет немедленно давать сбой и выдавать исключение, если Material.enableInstancing имеет значение false, но она будет регистрировать ошибку и пропускать рендеринг каждый раз, когда команда выполняется, если такое условие обнаружено. InvalidOperationException будет выдано, если текущая платформа не поддерживает этот API (т. е. если создание экземпляров графического процессора недоступно). См. SystemInfo.supportsInstancing. |
DrawMeshInstancedIndirect | Добавляет команду «нарисовать сетку с непрямым созданием экземпляров». |
DrawMeshInstancedProcedural | Добавляет команду «нарисовать сетку с созданием экземпляров». Нарисуйте сетку, используя процедурное создание экземпляров. Это похоже на Graphics.DrawMeshInstancedIndirect, за исключением того, что, когда количество экземпляров известно из скрипта, его можно указать напрямую с помощью этого метода, а не через ComputeBuffer. Если Material.enableInstancing имеет значение false, команда регистрирует ошибку и пропускает визуализацию при каждом выполнении команды; команда не завершается сбоем сразу и не выдает исключение. Будет выдано исключение InvalidOperationException, если текущая платформа не поддерживает этот API (например, если создание экземпляров графического процессора недоступно). См. SystemInfo.supportsInstancing. |
DrawOcclusionMesh | Добавляет команду в командный буфер для рисования сетки окклюзии VR-устройства к текущей цели рендеринга. |
DrawProcedural | Добавляет команду «рисовать процедурную геометрию». |
DrawProceduralIndirect | Добавляет команду «рисовать процедурную геометрию». |
DrawRenderer | Добавляет команду «рисование рендерера». |
EnableScissorRect | Добавляет команду для включения прямоугольника аппаратных ножниц. . |
EnableShaderKeyword | Добавляет команду для включения глобального ключевого слова шейдера. |
EndSample | Добавляет команду для начала выборки профиля. |
GenerateMips | Создаёт уровни MIP-карты текстуры рендеринга. |
GetTemporaryRT | Добавляет команду «получить временную текстуру рендеринга». |
GetTemporaryRTArray | Добавляет команду «получить временный массив текстур рендеринга». |
IncrementUpdateCount | Увеличивает свойство updateCount текстуры. |
IssuePluginCustomBlit | Отправляет определяемое пользователем событие blit в подключаемый модуль собственного кода. |
IssuePluginCustomTextureUpdateV2 | Отправляет событие обновления текстуры в собственный плагин кода. |
IssuePluginEvent | Отправляет определяемое пользователем событие в подключаемый модуль собственного кода. |
IssuePluginEventAndData | Отправляет пользовательское событие в плагин собственного кода с пользовательскими данными. |
MarkLateLatchMatrixShaderPropertyID | Отмечает глобальный идентификатор свойства шейдера для поздней фиксации. Возможные свойства шейдера включают матрицы вида, inverseView, viewProjection и inverseViewProjection. Универсальный конвейер рендеринга (URP) использует эту функцию для поддержки поздней фиксации свойств шейдера. Если вы вызываете эту функцию при использовании встроенного рендеринга Unity или конвейера рендеринга высокого разрешения (HDRP), результаты игнорируются. |
ReleaseTemporaryRT | Добавляет команду «выпустить временную текстуру рендеринга». |
RequestAsyncReadback | Добавляет команду запроса асинхронного чтения GPU в буфер команд. . |
RequestAsyncReadbackIntoNativeArray | Добавляет команду запроса асинхронного чтения GPU в буфер команд. |
RequestAsyncReadbackIntoNativeSlice | Добавляет команду запроса асинхронного чтения GPU в буфер команд. |
ResolveAntiAliasedSurface | Принудительное разрешение сглаженной текстуры рендеринга . |
SetComputeBufferCounterValue | Добавляет команду для установки значения счетчика буфера добавления/потребления. |
SetComputeBufferData | Добавляет команду для установки буфера со значениями из массива. |
SetComputeBufferParam | Добавляет команду для установки параметра входного или выходного буфера в ComputeShader. |
SetComputeConstantBufferParam | Добавляет команду для установки постоянного буфера в ComputeShader. |
SetComputeFloatParam | Добавляет команду для установки параметра float в ComputeShader. . |
SetComputeFloatParams | Добавляет команду для установки нескольких последовательных параметров с плавающей запятой в ComputeShader. |
SetComputeIntParam | Добавляет команду для установки целочисленного параметра в ComputeShader. |
SetComputeIntParams | Добавляет команду для установки нескольких последовательных целочисленных параметров в ComputeShader. |
SetComputeMatrixArrayParam | Добавляет команду для установки параметра матричного массива в ComputeShader. |
SetComputeMatrixParam | Добавляет команду для установки параметра матрицы в ComputeShader. . |
SetComputeTextureParam | Добавляет команду для установки параметра текстуры в ComputeShader. |
SetComputeVectorArrayParam | Добавляет команду для установки параметра векторного массива в ComputeShader. |
SetComputeVectorParam | Добавляет команду для установки векторного параметра в ComputeShader. |
SetExecutionFlags | Устанавливает флаги, описывающие намерение того, как будет выполняться командный буфер. |
SetGlobalBuffer | Добавляет команду «установить глобальное свойство буфера шейдера». |
SetGlobalColor | Добавляет команду «установить глобальное свойство цвета шейдера». |
SetGlobalConstantBuffer | Добавляет команду для привязки глобального буфера констант. |
SetGlobalDepthBias | Добавляет команду для установки глобального смещения глубины. |
SetGlobalFloat | Добавляет команду «установить глобальное свойство float шейдера». |
SetGlobalFloatArray | Добавляет команду «установить глобальное свойство плавающего массива шейдера». |
SetGlobalInt | Устанавливает заданное глобальное целочисленное свойство для всех шейдеров. |
SetGlobalMatrix | Добавляет команду «установить глобальное свойство матрицы шейдера». |
SetGlobalMatrixArray | Добавляет команду «установить глобальное свойство массива шейдерной матрицы». |
SetGlobalTexture | Добавляет команду «установить глобальное свойство текстуры шейдера», ссылаясь на RenderTexture. |
SetGlobalVector | Добавляет команду «установить глобальное свойство вектора шейдера». |
SetGlobalVectorArray | Добавляет команду «установить глобальное свойство массива векторов шейдера». |
SetInstanceMultiplier | Добавляет команду для умножения количества экземпляров каждого вызова отрисовки на определенный множитель. |
SetInvertCulling | Добавляет в буфер команду «установить инвертирование отбраковки». |
SetLateLatchProjectionMatrices | Устанавливает текущие матрицы стереопроекции для поздней фиксации. Стереоматрицы передаются как массив из двух матриц. |
SetProjectionMatrix | Добавляет команду для установки матрицы проекции. |
SetRandomWriteTarget | Устанавливает случайную цель записи для пиксельных шейдеров уровня Shader Model 4.5. |
SetRayTracingAccelerationStructure | Добавляет команду для установки RayTracingAccelerationStructure для использования с RayTracingShader. |
SetRayTracingBufferParam | Добавляет команду для установки параметра входного или выходного буфера в RayTracingShader. |
SetRayTracingConstantBufferParam | Добавляет команду для установки постоянного буфера в RayTracingShader. |
SetRayTracingFloatParam | Добавляет команду для установки параметра с плавающей запятой в RayTracingShader. |
SetRayTracingFloatParams | Добавляет команду для установки нескольких последовательных параметров с плавающей запятой в RayTracingShader. |
SetRayTracingIntParam | Добавляет команду для установки целочисленного параметра в RayTracingShader.. |
SetRayTracingIntParams | Добавляет команду для установки нескольких последовательных целочисленных параметров в RayTracingShader. |
SetRayTracingMatrixArrayParam | Добавляет команду для установки параметра матричного массива в RayTracingShader. . |
SetRayTracingMatrixParam | Добавляет команду для установки параметра матрицы в RayTracingShader. |
SetRayTracingShaderPass | Добавляет команду для выбора прохода шейдера для использования при выполнении шейдеров пересечения лучей/геометрии. |
SetRayTracingTextureParam | Добавляет команду для установки параметра текстуры в RayTracingShader. |
SetRayTracingVectorArrayParam | Добавляет команду для установки параметра векторного массива в RayTracingShader. |
SetRayTracingVectorParam | Добавляет команду для установки параметра вектора в RayTracingShader. |
SetRenderTarget | Добавляет команду «установить активную цель рендеринга». |
SetShadowSamplingMode | Добавляет команду «установить режим выборки теней». |
SetSinglePassStereo | Добавляет команду для установки однопроходного стереорежима для камеры. |
SetViewMatrix | Добавляет команду для установки матрицы просмотра. |
SetViewport | Добавляет команду для установки окна просмотра рендеринга. |
SetViewProjectionMatrices | Добавляет команду для установки матриц вида и проекции. . |
UnmarkLateLatchMatrix | Снимает пометку с глобального свойства шейдера для поздней фиксации. После снятия отметки свойство шейдера больше не будет фиксироваться с опозданием. Эта функция предназначена для универсального конвейера рендеринга (URP) для указания свойств шейдера с поздней фиксацией. |
WaitAllAsyncReadbackRequests | Добавляет команду «AsyncGPUReadback.WaitAllRequests» в CommandBuffer. |
WaitOnAsyncGraphicsFence | Инструктирует GPU ждать, пока данный GraphicsFence не будет передан. |