Руководство API скрипты

CommandBuffer

класс в UnityEngine.Rendering / Реализовано в: UnityEngine.CoreModule

Описание

Список графических команд для выполнения.

Буферы команд содержат список команд рендеринга («установить цель рендеринга, нарисовать сетку, ...»). Их можно настроить на выполнение в различных точках во время рендеринга камеры (см. 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 не будет передан.
Вы можете отблагодарить автора, за перевод документации на русский язык. Донат
API скрипты 2021.3