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

CommandBuffer

класс в UnityEngine.Rendering

Выполнено в:UnityEngine.CoreModule

Описание

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

Буферы команд содержат список команд рендеринга («set render target, draw mesh, ...»). Их можно настроить на выполнение в разных точках отрисовки камерой (см. Camera.AddCommandBuffer), рендеринга светом (см. Light.AddCommandBuffer) или для немедленного выполнения (см. Graphics.ExecuteCommandBuffer).

Обычно они используются для расширения рендеринговых каналов Unity в пользовательском режиме. Например, вы можете рендеринговать некоторые дополнительные объекты в G-буфер отложенного рендеринга после завершения обработки всех обычных объектов, или выполнять пользовательскую обработку отображений световых теней. См. обзор командных буферов на странице для более подробной информации.

Командные буферы могут быть созданы и затем выполнены много раз, если необходимо.

Дополнительные ресурсы: Camera.AddCommandBuffer, Light.AddCommandBuffer, CameraEvent, LightEvent, Graphics.ExecuteCommandBuffer, обзор командных буферов.

Статические свойства

Свойство Описание
ThrowOnSetRenderTargetВывести исключение, когда SetRenderTarget записывается в командный буфер. Это особенно полезно при использовании нативных рендерпассов, чтобы избежать случайной записи команд SetRenderTarget в командный буфер.

Свойства

Свойство Описание
nameИмя буфера команд.
sizeInBytesРазмер командного буфера в байтах (только для чтения).

Конструкторы

Конструктор Описание
CommandBufferСоздание нового пустого буфера команд.

Открытые методы

Метод Описание
BeginRenderPassНачать новый проход основного рендеринга.
BeginSampleДобавлена команда для начала выборки профиля.
BlitДобавлена команда для использования шейдера для копирования данных пикселей из текстуры в текстуру рендеринга.
BuildRayTracingAccelerationStructureДобавлена команда для построения RayTracingAccelerationStructure для использования в отправке трассирования лучей или при использовании встроенного трассирования лучей (запросы на лучи).
ClearОчистить все команды в буфере.
ClearRandomWriteTargetsОтменить случайные цели записи для пиксельных шейдеров уровня Shader Model 4.5.
ClearRenderTargetДобавлена команда "очистить цель отображения".
ConfigureFoveatedRenderingДобавляет команду для настройки отображения в режиме ожидания.
ConvertTextureДобавлена команда для копирования данных пикселей из одной текстуры, преобразования данных в другой формат и копирования их в другую текстуру.
CopyBufferДобавлена команда для копирования содержимого одного GraphicsBuffer в другой.
CopyCounterValueДобавлена команда для копирования значения счетчика ComputeBuffer или GraphicsBuffer.
CopyTextureДобавлена команда для копирования пиксельных данных из одной текстуры в другую.
CreateAsyncGraphicsFenceЯрлык для вызова CommandBuffer.CreateGraphicsFence с GraphicsFenceType.AsyncQueueSynchronisation в качестве первого параметра.
CreateGraphicsFenceСоздает GraphicsFence.
DisableKeywordДобавляет команду для отключения глобального или локального ключевого слова шейдера.
DisableScissorRectДобавить команду для отключения аппаратного ножниц прямоугольника.
DisableShaderKeywordДобавлена команда для отключения глобального ключевого слова шейдера с заданным именем.
DispatchComputeДобавить команду для выполнения ComputeShader.
DispatchRaysДобавление команды для выполнения RayTracingShader.
DrawMeshДобавить команду "нарисовать сетку".
DrawMeshInstancedДобавляет "рисовать сетку с инстансированием" command.The сетка будет нарисована только один раз, она не будет освещена по пикселям и не будет получать или получать в реальном времени shadows.The команда не будет немедленно отказываться и вызывать исключение, если Material.enableInstancing является false, но она будет регистрировать ошибку и пропускать рендеринг каждый раз, когда команда выполняется, если такое условие detected.InvalidOperationException будет вызывать, если текущая платформа не поддерживает это API (i.e. если GPU инстансирование недоступно). См. SystemInfo.supportsInstancing.
DrawMeshInstancedIndirectДобавлена команда "нарисовать сетку с косвенным инстанционированием".
DrawMeshInstancedProceduralДобавить "нарисовать сетку с инстанционированием" command.Draw сетку с помощью Процедурного Инстанционирования. Это похоже на Graphics.DrawMeshInstancedIndirect, за исключением того, что когда количество экземпляров известно из скрипта, оно может быть предоставлено непосредственно с помощью этого метода, а не через ComputeBuffer. Если Material.enableInstancing является false, команда регистрирует ошибку и пропускает рендеринг каждый раз, когда команда выполняется; команда не сразу отказывается, и exception.InvalidOperationException будет выполнена, если текущая платформа не поддерживает API (например, если GPU инстанционирование недоступно). См. SystemInfo.supportsInstancing.
DrawOcclusionMeshДобавляет команду в commandbuffer для рисования сетки окклюзии устройства VR к текущему объекту отображения.
DrawProceduralДобавлена команда "нарисовать процедурную геометрию".
DrawProceduralIndirectДобавлена команда "нарисовать процедурную геометрию".
DrawRendererДобавить команду «draw renderer».
DrawRendererListДобавлена команда "вывести список рендереров".
EnableKeywordДобавление команды для включения глобального или локального ключевого слова шейдера.
EnableScissorRectДобавить команду для включения аппаратного ножниц прямоугольника.
EnableShaderKeywordДобавление команды для включения глобального ключевого слова с заданным именем.
EndRenderPassПрекратить активный основной рендерпасс.
EndSampleДобавлена команда для завершения выборки профиля.
GenerateMipsСоздание уровней mipmap текстуры рендеринга.
GetTemporaryRTДобавить команду "получить временную текстуру рендеринга".
GetTemporaryRTArrayДобавить команду "получить временный массив текстуры рендеринга".
IncrementUpdateCountУвеличивает свойство updateCount Текстуры.
InvokeOnRenderObjectCallbacksРасписывает вызов обратного вызова OnRenderObject для скриптов MonoBehaviour.
IssuePluginCustomBlitОтправка определенного пользователем события blit в плагин нативного кода.
IssuePluginCustomTextureUpdateV2Отправить событие обновления текстуры в плагин нативного кода.
IssuePluginEventОтправка события, определенного пользователем, в плагин нативного кода.
IssuePluginEventAndDataОтправка определенного пользователем события в плагин с настраиваемыми данными.
IssuePluginEventAndDataWithFlagsОтправка события, определенного пользователем, в плагин нативного кода с пользовательскими данными и флагами обратного вызова.
MarkLateLatchMatrixShaderPropertyIDПометить глобальный id свойства шейдера для позднего замыкания. Возможные свойства шейдера включают view, матрицы inverseView, viewProjection и inverseViewProjection. Universal Render Pipeline (URP) использует эту функцию для поддержки позднего замыкания свойств шейдера. Если вы вызываете эту функцию при использовании встроенного рендеринга Unity или High-Definition Rendering Pipeline (HDRP), результаты игнорируются.
NextSubPassЗапустить следующий собственный подпропуск, как описано в CommandBuffer.BeginRenderPass.
ReleaseTemporaryRTДобавить команду "выпустить временную текстуру рендеринга".
RequestAsyncReadbackДобавление в буфер команд асинхронной команды запроса на считывание GPU.
RequestAsyncReadbackIntoNativeArrayДобавление в буфер команд асинхронной команды запроса на считывание GPU.
RequestAsyncReadbackIntoNativeSliceДобавление в буфер команд асинхронной команды запроса на считывание GPU.
ResetShadingRateДобавить команду "сбросить все состояния скорости затенения и изображения к их значениям по умолчанию".
ResolveAntiAliasedSurfaceПринудительное разрешение текстуры рендеринга с выравниванием.
SetBufferCounterValueДобавляет команду для установки значения счетчика буфера добавления/потребления.
SetBufferDataДобавляет команду для установки буфера со значениями из массива.
SetComputeBufferParamДобавлена команда для установки параметра буфера входа или выхода на ComputeShader.
SetComputeConstantBufferParamДобавлена команда для установки постоянного буфера на ComputeShader.
SetComputeFloatParamДобавлена команда для установки параметра float на ComputeShader.
SetComputeFloatParamsДобавлена команда для установки нескольких последовательных параметров с плавающей запятой на ComputeShader.
SetComputeIntParamДобавлена команда для установки целочисленного параметра на ComputeShader.
SetComputeIntParamsДобавлена команда для установки нескольких последовательных целых параметров на ComputeShader.
SetComputeMatrixArrayParamДобавлена команда для установки параметра массива матриц на ComputeShader.
SetComputeMatrixParamДобавлена команда для установки параметра матрицы на ComputeShader.
SetComputeParamsFromMaterialЗадает параметры для ядра вычислительного шейдера из Material.
SetComputeTextureParamДобавлена команда для установки параметра текстуры на ComputeShader.
SetComputeVectorArrayParamДобавлена команда для установки параметра векторного массива на ComputeShader.
SetComputeVectorParamДобавлена команда для установки параметра вектора на ComputeShader.
SetExecutionFlagsУстанавливает флаги, описывающие намерение в отношении того, как будет выполняться буфер команд.
SetFoveatedRenderingModeДобавляет команду для установки режима, который будет использоваться для рендеринга с помощью фове.
SetGlobalBufferДобавлена команда "set global shader buffer property".
SetGlobalColorДобавлена команда "set global shader color property".
SetGlobalConstantBufferДобавить команду для привязки глобального постоянного буфера.
SetGlobalDepthBiasДобавлена команда для установки глобального отклонения глубины.
SetGlobalFloatДобавлена команда "set global shader float property".
SetGlobalFloatArrayДобавляет команду задания глобального свойства массива float шейдера.
SetGlobalIntДобавлена команда для установки значения заданного свойства для всех Shaders, где свойство имеет тип Int в коде ShaderLab.
SetGlobalIntegerДобавляет команду для установки значения заданного свойства для всех Шейдеров, где свойство является целым числом.
SetGlobalMatrixДобавлена команда "set global shader matrix property".
SetGlobalMatrixArrayДобавляет команду задания глобального свойства массива матриц шейдера.
SetGlobalRayTracingAccelerationStructureДобавлена команда для привязки объекта RayTracingAccelerationStructure ко всем стадиям шейдера.
SetGlobalTextureДобавить команду "set global shader texture property", со ссылкой на RenderTexture.
SetGlobalVectorДобавлена команда "set global shader vector property".
SetGlobalVectorArrayДобавляет команду задания глобального свойства массива векторов шейдера.
SetInstanceMultiplierДобавлена команда для умножения количества экземпляров в каждом вызове отрисовки на заданный множитель.
SetInvertCullingДобавить в буфер команду "set invert culling".
SetKeywordДобавляет команду для задания состояния глобального или локального ключевого слова шейдера.
SetLateLatchProjectionMatricesУстановить текущие матрицы стереопроекции для позднего замыкания. Стереоматрицы передаются как массив из двух матриц.
SetProjectionMatrixДобавить команду для установки матрицы проекции.
SetRandomWriteTargetУстановить случайную цель записи для Shader Model 4.5 уровня пиксельных шейдеров.
SetRayTracingAccelerationStructureДобавлена команда для установки RayTracingAccelerationStructure для использования в RayTracingShader или ComputeShader.
SetRayTracingBufferParamДобавлена команда для установки параметра буфера входа или выхода на RayTracingShader.
SetRayTracingConstantBufferParamДобавлена команда для установки постоянного буфера на RayTracingShader.
SetRayTracingFloatParamДобавлена команда для установки параметра float на RayTracingShader.
SetRayTracingFloatParamsДобавлена команда для установки нескольких последовательных параметров с плавающей запятой на RayTracingShader.
SetRayTracingIntParamДобавлена команда для установки целочисленного параметра на RayTracingShader.
SetRayTracingIntParamsДобавлена команда для установки нескольких последовательных целых параметров на RayTracingShader.
SetRayTracingMatrixArrayParamДобавлена команда для установки параметра массива матриц на RayTracingShader.
SetRayTracingMatrixParamДобавлена команда для установки параметра матрицы на RayTracingShader.
SetRayTracingShaderPassДобавлена команда для выбора Shader Pass, который будет использоваться при выполнении шейдеров пересечения луча/геометрии.
SetRayTracingTextureParamДобавлена команда для установки параметра текстуры на RayTracingShader.
SetRayTracingVectorArrayParamДобавлена команда для установки параметра векторного массива на RayTracingShader.
SetRayTracingVectorParamДобавлена команда для установки параметра вектора на RayTracingShader.
SetRenderTargetДобавлена команда "set active render target".
SetShadingRateCombinerЗадает комбинатор скорости затенения для определенной стадии.
SetShadingRateFragmentSizeДобавлена команда "set base shading rate".
SetShadingRateImageДобавить команду "установить скорость затенения изображения".
SetShadowSamplingModeДобавить команду "set shadow sampling mode".
SetSinglePassStereoДобавить команду для установки однопроходного стерео режима для камеры.
SetupCameraPropertiesРасписывает настройку глобальных переменных Shader, специфических для Camera.
SetViewMatrixДобавить команду для установки матрицы представления.
SetViewportДобавить команду для установки окна отображения.
SetViewProjectionMatricesДобавить команду для настройки матрицы просмотра и проекции.
SetWireframeДобавить команду "set wireframe" в буфер.
UnmarkLateLatchMatrixСнять отметку со свойства глобального шейдера для позднего замыкания. После снятия отметки, свойство шейдера больше не будет замыкаться поздно. Эта функция предназначена для Universal Render Pipeline (URP) для указания свойств шейдера с поздним замыканием.
WaitAllAsyncReadbackRequestsДобавляет команду "AsyncGPUReadback.WaitAllRequests" к CommandBuffer.
WaitOnAsyncGraphicsFenceИнструктирует GPU приостановить обработку очереди, пока она не пройдет через ограждение GraphicsFence.