Version: 5.5 (switch to 5.6b)
LanguageEnglish
  • C#
  • JS

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

CommandBuffer

class in UnityEngine.Rendering

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

Description

List of graphics commands to execute.

Command buffers hold list of rendering commands ("set render target, draw mesh, ..."). They can be set to execute at various points during camera rendering (see Camera.AddCommandBuffer), light rendering (see Light.AddCommandBuffer) or be executed immediately (see Graphics.ExecuteCommandBuffer).

Typically they would be used to extend Unity's rendering pipeline in some custom ways. For example, you could render some additional objects into deferred rendering g-buffer after all regular objects are done, or do custom processing of light shadow maps. See command buffers overview page for more details.

Command buffers can be created and then executed many times if needed.

See Also: Camera.AddCommandBuffer, Light.AddCommandBuffer, CameraEvent, LightEvent, Graphics.ExecuteCommandBuffer, command buffers overview.

Variables

nameName of this command buffer.
sizeInBytesSize of this command buffer in bytes (Read Only).

Constructors

CommandBufferCreate a new empty command buffer.

Public Functions

BlitAdd a "blit into a render texture" command.
ClearClear all commands in the buffer.
ClearRenderTargetAdds a "clear render target" command.
DrawMeshAdd a "draw mesh" command.
DrawMeshInstancedAdd a "draw mesh with instancing" command.
DrawProceduralAdd a "draw procedural geometry" command.
DrawProceduralIndirectAdd a "draw procedural geometry" command.
DrawRendererAdd a "draw renderer" command.
GetTemporaryRTAdd a "get a temporary render texture" command.
IssuePluginEventSend a user-defined event to a native code plugin.
ReleaseTemporaryRTAdd a "release a temporary render texture" command.
SetGlobalBufferAdd a "set global shader buffer property" command.
SetGlobalColorAdd a "set global shader color property" command.
SetGlobalFloatAdd a "set global shader float property" command.
SetGlobalFloatArrayAdd a "set global shader float array property" command.
SetGlobalMatrixAdd a "set global shader matrix property" command.
SetGlobalMatrixArrayAdd a "set global shader matrix array property" command.
SetGlobalTextureAdd a "set global shader texture property" command, referencing a RenderTexture.
SetGlobalVectorAdd a "set global shader vector property" command.
SetGlobalVectorArrayAdd a "set global shader vector array property" command.
SetRenderTargetAdd a "set active render target" command.
SetShadowSamplingModeAdd a "set shadow sampling mode" command.