要执行的图形命令的列表。
命令缓冲区可保存渲染命令列表(“设置渲染目标、绘制网格等等”)。可将渲染命令设置为在摄像机渲染(请参阅 Camera.AddCommandBuffer)、光源渲染(请参阅 Light.AddCommandBuffer)期间的各个点执行,或者立即执行(请参阅 Graphics.ExecuteCommandBuffer)。
通常,渲染命令用于通过一些自定义方式扩展 Unity 的渲染管线。例如,您可以在所有常规对象处理完毕后将一些其他对象渲染到延迟渲染 G 缓冲区,或对光源
阴影贴图执行自定义处理。有关更多详细信息,请参阅command buffers overview页面。
命令缓冲区创建后,可根据需要多次执行。
另请参阅:Camera.AddCommandBuffer、Light.AddCommandBuffer、CameraEvent、LightEvent、Graphics.ExecuteCommandBuffer、command buffers overview。
name | 此命令缓冲区的名称。 |
sizeInBytes | 此命令缓冲区的大小,以字节为单位(只读)。 |
CommandBuffer | 创建新的空命令缓冲区。 |
BeginSample | 添加命令,以开始对配置文件进行采样。 |
Blit | 添加“对渲染纹理执行 blit 操作”命令。 |
BuildRayTracingAccelerationStructure | 添加命令以构建要用于场景的 RayTracingAccelerationStructure。 |
Clear | 清除缓冲区中的所有命令。 |
ClearRandomWriteTargets | 为 Shader Model 4.5 级别的像素着色器清除随机写入目标。 |
ClearRenderTarget | 添加“清除渲染目标”命令。 |
ConvertTexture | 转换源纹理并将其复制到具有不同格式或尺寸的目标纹理。 |
CopyCounterValue | Adds a command to copy ComputeBuffer or GraphicsBuffer counter value. |
CopyTexture | 添加用于将纹理复制到其他纹理中的命令。 |
CreateAsyncGraphicsFence | 用于调用 GommandBuffer.CreateGraphicsFence 的快捷方式,将 GraphicsFenceType.AsyncQueueSynchronization 作为第一个参数。 |
CreateGraphicsFence | 创建一个 GraphicsFence,其传递时机是此调用前,GPU 中完成的最后一个 Blit、Clear、Draw、Dispatch 或 Texture Copy 命令之后。 |
DisableScissorRect | 添加用于禁用硬件剪辑矩形的命令。 |
DisableShaderKeyword | 添加用于禁用全局着色器关键字的命令。 |
DispatchCompute | 添加用于执行 ComputeShader 的命令。 |
DispatchRays | 添加用于执行 RayTracingShader 的命令。 |
DrawMesh | 添加“绘制网格”命令。 |
DrawMeshInstanced | 添加“通过实例化绘制网格”命令。如果 Material.enableInstancing 为 false,该命令不会立即失败并抛出异常,但如果检测到此类情况,则会记录错误并在每次执行命令时跳过渲染。如果当前平台不支持此 API(即,如果 GPU 实例化不可用),则会抛出 InvalidOperationException。请参阅 SystemInfo.supportsInstancing。 |
DrawMeshInstancedIndirect | 添加“通过间接实例化绘制网格”命令。 |
DrawMeshInstancedProcedural | 添加“通过实例化绘制网格”命令。使用程序实例化绘制网格。这与 Graphics.DrawMeshInstancedIndirect 类似,只不过在从脚本获知实例数量时,可以使用此方法直接提供,而不是通过 ComputeBuffer。 该命令在 Material.enableInstancing 为 false 时不会立即失败并抛出异常,但是如果检测到此类条件,则会在每次执行该命令时记录错误并跳过渲染。如果当前平台不支持此 API(即,如果 GPU 实例化不可用),则会抛出 InvalidOperationException。请参阅 SystemInfo.supportsInstancing。 |
DrawOcclusionMesh | 向 commandbuffer 添加命令以向当前渲染目标绘制 VR 设备的遮挡网格。 |
DrawProcedural | 添加“绘制程序化几何体”命令。 |
DrawProceduralIndirect | 添加“绘制程序化几何体”命令。 |
DrawRenderer | 添加“绘制渲染器”命令。 |
EnableScissorRect | 添加用于启用硬件剪辑矩形的命令。 |
EnableShaderKeyword | 添加用于启用全局着色器关键字的命令。 |
EndSample | 添加命令,以开始对配置文件进行采样。 |
GenerateMips | 生成渲染纹理的多级渐进纹理级别。 |
GetTemporaryRT | 添加“获取临时渲染纹理”命令。 |
GetTemporaryRTArray | 添加“获取临时渲染纹理阵列”命令。 |
IncrementUpdateCount | 递增纹理的 updateCount 属性。 |
IssuePluginCustomBlit | 向本机代码插件发送用户定义的 blit 事件。 |
IssuePluginCustomTextureUpdateV2 | 向本机代码插件发送纹理更新事件。 |
IssuePluginEvent | 向本机代码插件发送用户定义的事件。 |
IssuePluginEventAndData | 向本机代码插件发送具有自定义数据的用户定义的事件。 |
ReleaseTemporaryRT | 添加“释放临时渲染纹理”命令。 |
RequestAsyncReadback | 向命令缓冲区添加异步 GPU 回读请求命令。 |
RequestAsyncReadbackIntoNativeArray | 向命令缓冲区添加异步 GPU 回读请求命令。 |
ResolveAntiAliasedSurface | 强制解析抗锯齿渲染纹理。 |
SetComputeBufferCounterValue | Adds a command to set the counter value of append/consume buffer. |
SetComputeBufferData | Adds a command to set the buffer with values from an array. |
SetComputeBufferParam | 添加用于在 ComputeShader 中设置输入或输出缓冲区参数的命令。 |
SetComputeConstantBufferParam | Adds a command to set a constant buffer on a ComputeShader. |
SetComputeFloatParam | 添加用于在 ComputeShader 中设置浮点参数的命令。 |
SetComputeFloatParams | 添加用于在 ComputeShader 中设置多个连续浮点参数的命令。 |
SetComputeIntParam | 添加用于在 ComputeShader 中设置整数参数的命令。 |
SetComputeIntParams | 添加用于在 ComputeShader 中设置多个连续整数参数的命令。 |
SetComputeMatrixArrayParam | 添加用于在 ComputeShader 中设置矩阵数组参数的命令。 |
SetComputeMatrixParam | 添加用于在 ComputeShader 中设置矩阵参数的命令。 |
SetComputeTextureParam | 添加用于在 ComputeShader 中设置纹理参数的命令。 |
SetComputeVectorArrayParam | 添加用于在 ComputeShader 中设置向量数组参数的命令。 |
SetComputeVectorParam | 添加用于在 ComputeShader 中设置向量参数的命令。 |
SetExecutionFlags | 设置标志,描述有关如何执行命令缓冲区的意图。 |
SetGlobalBuffer | 添加“设置全局着色器缓冲区属性”命令。 |
SetGlobalColor | 添加“设置全局着色器颜色属性”命令。 |
SetGlobalConstantBuffer | 添加用于绑定全局常量缓冲区的命令。 |
SetGlobalDepthBias | 添加用于设置全局深度偏差的命令。 |
SetGlobalFloat | 添加“设置全局着色器浮点属性”命令。 |
SetGlobalFloatArray | 添加“设置全局着色器浮点数组属性”命令。 |
SetGlobalInt | 为所有着色器设置给定的全局整数属性。 |
SetGlobalMatrix | 添加“设置全局着色器矩阵属性”命令。 |
SetGlobalMatrixArray | 添加“设置全局着色器矩阵数组属性”命令。 |
SetGlobalTexture | 添加“设置全局着色器纹理属性”命令(引用 RenderTexture)。 |
SetGlobalVector | 添加“设置全局着色器向量属性”命令。 |
SetGlobalVectorArray | 添加“设置全局着色器向量数组属性”命令。 |
SetInstanceMultiplier | 添加用于将每个绘制调用的实例数乘以特定乘数的命令。 |
SetInvertCulling | 向缓冲区添加“设置反转剔除”命令。 |
SetProjectionMatrix | 添加用于设置投影矩阵的命令。 |
SetRandomWriteTarget | 为 Shader Model 4.5 级别的像素着色器设置随机写入目标。 |
SetRayTracingAccelerationStructure | 添加命令以设置要与 RayTracingShader 一起使用的 RayTracingAccelerationStructure。 |
SetRayTracingBufferParam | Adds a command to set an input or output buffer parameter on a RayTracingShader. |
SetRayTracingConstantBufferParam | Adds a command to set a constant buffer on a RayTracingShader. |
SetRayTracingFloatParam | 添加用于在 RayTracingShader 中设置浮点参数的命令。 |
SetRayTracingFloatParams | 添加用于在 RayTracingShader 中设置多个连续浮点参数的命令。 |
SetRayTracingIntParam | 添加用于在 RayTracingShader 中设置整数参数的命令。 |
SetRayTracingIntParams | 添加用于在 RayTracingShader 中设置多个连续整数参数的命令。 |
SetRayTracingMatrixArrayParam | 添加用于在 RayTracingShader 中设置矩阵数组参数的命令。 |
SetRayTracingMatrixParam | 添加用于在 RayTracingShader 中设置矩阵参数的命令。 |
SetRayTracingShaderPass | 添加用于为要使用的 RayTracingShader 设置通道的命令。 |
SetRayTracingTextureParam | 添加用于在 RayTracingShader 中设置纹理参数的命令。 |
SetRayTracingVectorArrayParam | 添加用于在 RayTracingShader 中设置矢量数组参数的命令。 |
SetRayTracingVectorParam | 添加用于在 RayTracingShader 中设置矢量参数的命令。 |
SetRenderTarget | 添加“设置活动的渲染目标”命令。 |
SetShadowSamplingMode | 添加“设置阴影采样模式”命令。 |
SetSinglePassStereo | 添加用于为摄像机设置单通道立体模式的命令。 |
SetViewMatrix | 添加用于设置视图矩阵的命令。 |
SetViewport | 添加用于设置渲染视口的命令。 |
SetViewProjectionMatrices | 添加用于设置视图和投影矩阵的命令。 |
WaitAllAsyncReadbackRequests | 向 CommandBuffer 添加“AsyncGPUReadback.WaitAllRequests”命令。 |
WaitOnAsyncGraphicsFence | 指示 GPU 等待,直至给定的 GraphicsFence 完成传递。 |