要执行的图形命令的列表。
命令缓冲区可保存渲染命令列表(“设置渲染目标、绘制网格等等”)。可将渲染命令设置为在摄像机渲染(请参阅 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 操作”命令。 |
Clear | 清除缓冲区中的所有命令。 |
ClearRandomWriteTargets | 为 Shader Model 4.5 级别的像素着色器清除随机写入目标。 |
ClearRenderTarget | 添加“清除渲染目标”命令。 |
ConvertTexture | 转换源纹理并将其复制到具有不同格式或尺寸的目标纹理。 |
CopyCounterValue | 添加用于复制 ComputeBuffer 计数器值的命令。 |
CopyTexture | 添加用于将纹理复制到其他纹理中的命令。 |
CreateGPUFence | 此功能已弃用,不应再使用。请使用 CommandBuffer.CreateGraphicsFence。 |
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 事件。 |
IssuePluginCustomTextureUpdateV2 | 向本机代码插件发送纹理更新事件。 |
IssuePluginEvent | 向本机代码插件发送用户定义的事件。 |
IssuePluginEventAndData | 向本机代码插件发送具有自定义数据的用户定义的事件。 |
ReleaseTemporaryRT | 添加“释放临时渲染纹理”命令。 |
RequestAsyncReadback | 向命令缓冲区添加异步 GPU 回读请求命令。 |
ResolveAntiAliasedSurface | 强制解析抗锯齿渲染纹理。 |
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 | 添加“设置全局着色器向量数组属性”命令。 |
SetInvertCulling | 向缓冲区添加“设置反转剔除”命令。 |
SetProjectionMatrix | 添加用于设置投影矩阵的命令。 |
SetRandomWriteTarget | 为 Shader Model 4.5 级别的像素着色器设置随机写入目标。 |
SetRenderTarget | 添加“设置活动的渲染目标”命令。 |
SetShadowSamplingMode | 添加“设置阴影采样模式”命令。 |
SetViewMatrix | 添加用于设置视图矩阵的命令。 |
SetViewport | 添加用于设置渲染视口的命令。 |
SetViewProjectionMatrices | 添加用于设置视图和投影矩阵的命令。 |
WaitOnGPUFence | 此功能已弃用,不应再使用。请使用 CommandBuffer.WaitOnAsyncGraphicsFence。 |
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.