CommandBuffer

class in UnityEngine.Rendering

切换到手册

描述

要执行的图形命令的列表。

命令缓冲区可保存渲染命令列表(“设置渲染目标、绘制网格等等”)。可将渲染命令设置为在摄像机渲染(请参阅 Camera.AddCommandBuffer)、光源渲染(请参阅 Light.AddCommandBuffer)期间的各个点执行,或者立即执行(请参阅 Graphics.ExecuteCommandBuffer)。

通常,渲染命令用于通过一些自定义方式扩展 Unity 的渲染管线。例如,您可以在所有常规对象处理完毕后将一些其他对象渲染到延迟渲染 G 缓冲区,或对光源 阴影贴图执行自定义处理。有关更多详细信息,请参阅command buffers overview页面。

命令缓冲区创建后,可根据需要多次执行。

另请参阅:Camera.AddCommandBufferLight.AddCommandBufferCameraEventLightEventGraphics.ExecuteCommandBuffercommand buffers overview

变量

name此命令缓冲区的名称。
sizeInBytes此命令缓冲区的大小,以字节为单位(只读)。

构造函数

CommandBuffer创建新的空命令缓冲区。

公共函数

BeginSample添加命令,以开始对配置文件进行采样。
Blit添加“对渲染纹理执行 blit 操作”命令。
Clear清除缓冲区中的所有命令。
ClearRandomWriteTargets为 Shader Model 4.5 级别的像素着色器清除随机写入目标。
ClearRenderTarget添加“清除渲染目标”命令。
ConvertTexture转换源纹理并将其复制到具有不同格式或尺寸的目标纹理。
CopyCounterValue添加用于复制 ComputeBuffer 计数器值的命令。
CopyTexture添加用于将纹理复制到其他纹理中的命令。
CreateGPUFence创建一个 GPUFence,该栅栏的传递时机是此调用前 GPU 中完成的最后一个 Blit、Clear、Draw、Dispatch 或 Texture Copy 命令之后。
DisableScissorRect添加用于禁用硬件剪辑矩形的命令。
DisableShaderKeyword添加用于禁用全局着色器关键字的命令。
DispatchCompute添加用于执行 ComputeShader 的命令。
DrawMesh添加“绘制网格”命令。
DrawMeshInstanced添加“通过实例化绘制网格”命令。如果 Material.enableInstancing 为 false,该命令不会立即失败并抛出异常,但如果检测到此类情况,则会记录错误并在每次执行命令时跳过渲染。如果当前平台不支持此 API(即,如果 GPU 实例化不可用),则会抛出 InvalidOperationException。请参阅 SystemInfo.supportsInstancing。
DrawMeshInstancedIndirect添加“通过间接实例化绘制网格”命令。
DrawProcedural添加“绘制程序化几何体”命令。
DrawProceduralIndirect添加“绘制程序化几何体”命令。
DrawRenderer添加“绘制渲染器”命令。
EnableScissorRect添加用于启用硬件剪辑矩形的命令。
EnableShaderKeyword添加用于启用全局着色器关键字的命令。
EndSample添加命令,以开始对配置文件进行采样。
GenerateMips生成渲染纹理的多级渐进纹理级别。
GetTemporaryRT添加“获取临时渲染纹理”命令。
GetTemporaryRTArray添加“获取临时渲染纹理阵列”命令。
IssuePluginCustomBlit向本机代码插件发送用户定义的 blit 事件。
IssuePluginCustomTextureUpdate向本机代码插件发送纹理更新事件。
IssuePluginEvent向本机代码插件发送用户定义的事件。
IssuePluginEventAndData向本机代码插件发送具有自定义数据的用户定义的事件。
ReleaseTemporaryRT添加“释放临时渲染纹理”命令。
SetComputeBufferParam添加用于在 ComputeShader 中设置输入或输出缓冲区参数的命令。
SetComputeFloatParam添加用于在 ComputeShader 中设置浮点参数的命令。
SetComputeFloatParams添加用于在 ComputeShader 中设置多个连续浮点参数的命令。
SetComputeIntParam添加用于在 ComputeShader 中设置整数参数的命令。
SetComputeIntParams添加用于在 ComputeShader 中设置多个连续整数参数的命令。
SetComputeMatrixArrayParam添加用于在 ComputeShader 中设置矩阵数组参数的命令。
SetComputeMatrixParam添加用于在 ComputeShader 中设置矩阵参数的命令。
SetComputeTextureParam添加用于在 ComputeShader 中设置纹理参数的命令。
SetComputeVectorArrayParam添加用于在 ComputeShader 中设置向量数组参数的命令。
SetComputeVectorParam添加用于在 ComputeShader 中设置向量参数的命令。
SetGlobalBuffer添加“设置全局着色器缓冲区属性”命令。
SetGlobalColor添加“设置全局着色器颜色属性”命令。
SetGlobalDepthBias添加用于设置全局深度偏差的命令。
SetGlobalFloat添加“设置全局着色器浮点属性”命令。
SetGlobalFloatArray添加“设置全局着色器浮点数组属性”命令。
SetGlobalInt为所有着色器设置给定的全局整数属性。
SetGlobalMatrix添加“设置全局着色器矩阵属性”命令。
SetGlobalMatrixArray添加“设置全局着色器矩阵数组属性”命令。
SetGlobalTexture添加“设置全局着色器纹理属性”命令(引用 RenderTexture)。
SetGlobalVector添加“设置全局着色器向量属性”命令。
SetGlobalVectorArray添加“设置全局着色器向量数组属性”命令。
SetProjectionMatrix添加用于设置投影矩阵的命令。
SetRandomWriteTarget为 Shader Model 4.5 级别的像素着色器设置随机写入目标。
SetRenderTarget添加“设置活动的渲染目标”命令。
SetShadowSamplingMode添加“设置阴影采样模式”命令。
SetViewMatrix添加用于设置视图矩阵的命令。
SetViewport添加用于设置渲染视口的命令。
SetViewProjectionMatrices添加用于设置视图和投影矩阵的命令。
WaitOnGPUFence指示 GPU 等待,直至给定的 GPUFence 完成传递。