Version: 2023.2
言語: 日本語

CommandBuffer

class in UnityEngine.Rendering

マニュアルに切り替える

説明

実行するグラフィックスコマンドのリスト

コマンドバッファはレンダリングコマンド ("set render target, draw mesh, ...") のリストを保持し、Camera Rendering (Camera.AddCommandBufferを参照) や Light Rendering (Light.AddCommandBuffer を参照) を実行中にさまざまなポイントで実行するように設定でき、すぐに実行されます (Graphics.ExecuteCommandBuffer を参照)。

Typically they would be used to extend Unity's render pipelines in a custom way. 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 Buffer は、何度でも実行することができます。

Additional resources: Camera.AddCommandBuffer, Light.AddCommandBuffer, CameraEvent, LightEvent, Graphics.ExecuteCommandBuffer, command buffers overview.

Static 変数

ThrowOnSetRenderTargetThrow an exception when SetRenderTarget is recorded on a command buffer. This is mainly usefull when using native renderpasses to avoid inadvertently recording SetRenderTarget commands on the command buffer.

変数

nameこのコマンドバッファーの名前
sizeInBytesこのコマンドバッファーのバイトでのサイズ(読み出し専用)

コンストラクタ

CommandBuffer新しい空の Command Buffer を作成します。

Public 関数

BeginRenderPassBegin a new native render pass.
BeginSampleAdds a command to begin profile sampling.
BlitAdds a command to use a shader to copy the pixel data from a texture into a render texture.
BuildRayTracingAccelerationStructureAdds a command to build the RayTracingAccelerationStructure to be used in a ray tracing dispatch or when using inline ray tracing (ray queries).
Clearバッファのすべてのコマンドをクリアします。
ClearRandomWriteTargetsClear random write targets for Shader Model 4.5 level pixel shaders.
ClearRenderTarget"clear render target" コマンドを追加します。
ConfigureFoveatedRenderingAdds a command to configure foveated rendering.
ConvertTextureAdds a command to copy the pixel data from one texture, convert the data into a different format, and copy it into another texture.
CopyBufferAdds a command to copy the contents of one GraphicsBuffer into another.
CopyCounterValueAdds a command to copy ComputeBuffer or GraphicsBuffer counter value.
CopyTextureAdds a command to copy pixel data from one texture to another.
CreateAsyncGraphicsFenceShortcut for calling CommandBuffer.CreateGraphicsFence with GraphicsFenceType.AsyncQueueSynchronisation as the first parameter.
CreateGraphicsFenceCreates a GraphicsFence.
DisableKeywordAdds a command to disable a global or local shader keyword.
DisableScissorRectAdd a command to disable the hardware scissor rectangle.
DisableShaderKeywordAdds a command to disable a global shader keyword with a given name.
DispatchComputeAdd a command to execute a ComputeShader.
DispatchRaysAdds a command to execute a RayTracingShader.
DrawMesh"Draw Mesh" コマンドをを追加します。
DrawMeshInstancedAdds a "draw mesh with instancing" command.The mesh will be just drawn once, it won't be per-pixel lit and will not cast or receive realtime shadows.The command will not immediately fail and throw an exception if Material.enableInstancing is false, but it will log an error and skips rendering each time the command is being executed if such a condition is detected.InvalidOperationException will be thrown if the current platform doesn't support this API (i.e. if GPU instancing is not available). See SystemInfo.supportsInstancing.
DrawMeshInstancedIndirectAdd a "draw mesh with indirect instancing" command.
DrawMeshInstancedProceduralAdd a "draw mesh with instancing" command.Draw a mesh using Procedural Instancing. This is similar to Graphics.DrawMeshInstancedIndirect, except that when the instance count is known from script, it can be supplied directly using this method, rather than via a ComputeBuffer. If Material.enableInstancing is false, the command logs an error and skips rendering each time the command is executed; the command does not immediately fail and throw an exception.InvalidOperationException will be thrown if the current platform doesn't support this API (for example, if GPU instancing is not available). See SystemInfo.supportsInstancing.
DrawOcclusionMeshAdds a command onto the commandbuffer to draw the VR Device's occlusion mesh to the current render target.
DrawProcedural"draw procedural geometry" コマンドを追加。
DrawProceduralIndirect"draw procedural geometry" コマンドを追加。
DrawRendererDraw Renderer コマンドを追加します。
DrawRendererListAdds a "draw renderer list" command.
EnableKeywordAdds a command to enable a global or local shader keyword.
EnableScissorRectAdd a command to enable the hardware scissor rectangle.
EnableShaderKeywordAdds a command to enable a global keyword with a given name.
EndRenderPassTerminate the active native renderpass.
EndSampleAdds a command to end profile sampling.
GenerateMipsGenerate mipmap levels of a render texture.
GetTemporaryRT"get a temporary render texture" コマンドを追加します。
GetTemporaryRTArrayAdd a "get a temporary render texture array" command.
IncrementUpdateCountIncrements the updateCount property of a Texture.
InvokeOnRenderObjectCallbacksSchedules an invocation of the OnRenderObject callback for MonoBehaviour scripts.
IssuePluginCustomBlitSend a user-defined blit event to a native code plugin.
IssuePluginCustomTextureUpdateV2Send a texture update event to a native code plugin.
IssuePluginEventネイティブコードプラグインにユーザーが定義したイベントを送信します
IssuePluginEventAndDataSend a user-defined event to a native code plugin with custom data.
IssuePluginEventAndDataWithFlagsSend a user-defined event to a native code plugin with custom data and callback flags.
MarkLateLatchMatrixShaderPropertyIDMark a global shader property id to be late latched. Possible shader properties include view, inverseView, viewProjection, and inverseViewProjection matrices. The Universal Render Pipeline (URP) uses this function to support late latching of shader properties. If you call this function when using built-in Unity rendering or the High-Definition Rendering Pipeline (HDRP), the results are ignored.
NextSubPassStart the next native subpass as discribed by CommandBuffer.BeginRenderPass.
ReleaseTemporaryRT"release a temporary render texture" コマンドを追加します。
RequestAsyncReadbackAdds an asynchonous GPU readback request command to the command buffer.
RequestAsyncReadbackIntoNativeArrayAdds an asynchonous GPU readback request command to the command buffer.
RequestAsyncReadbackIntoNativeSliceAdds an asynchonous GPU readback request command to the command buffer.
ResolveAntiAliasedSurfaceForce an antialiased render texture to be resolved.
SetBufferCounterValueAdds a command to set the counter value of append/consume buffer.
SetBufferDataAdds a command to set the buffer with values from an array.
SetComputeBufferParamAdds a command to set an input or output buffer parameter on a ComputeShader.
SetComputeConstantBufferParamAdds a command to set a constant buffer on a ComputeShader.
SetComputeFloatParamAdds a command to set a float parameter on a ComputeShader.
SetComputeFloatParamsAdds a command to set multiple consecutive float parameters on a ComputeShader.
SetComputeIntParamAdds a command to set an integer parameter on a ComputeShader.
SetComputeIntParamsAdds a command to set multiple consecutive integer parameters on a ComputeShader.
SetComputeMatrixArrayParamAdds a command to set a matrix array parameter on a ComputeShader.
SetComputeMatrixParamAdds a command to set a matrix parameter on a ComputeShader.
SetComputeParamsFromMaterialSets the parameters for a compute shader kernel from a Material.
SetComputeTextureParamAdds a command to set a texture parameter on a ComputeShader.
SetComputeVectorArrayParamAdds a command to set a vector array parameter on a ComputeShader.
SetComputeVectorParamAdds a command to set a vector parameter on a ComputeShader.
SetExecutionFlagsSet flags describing the intention for how the command buffer will be executed.
SetFoveatedRenderingModeAdds a command to set the mode to use for foveated rendering.
SetGlobalBufferAdd a "set global shader buffer property" command.
SetGlobalColor"set global shader color property" コマンドを追加します。
SetGlobalConstantBufferAdd a command to bind a global constant buffer.
SetGlobalDepthBiasAdds a command to set the global depth bias.
SetGlobalFloat"set global shader float property" コマンドを追加します。
SetGlobalFloatArray"set global shader float array property" コマンドを追加します。
SetGlobalIntAdds a command to set the value of a given property for all Shaders, where the property has a type of Int in ShaderLab code.
SetGlobalIntegerAdds a command to set the value of a given property for all Shaders, where the property is an integer.
SetGlobalMatrix"set global shader matrix property" コマンドを追加します。
SetGlobalMatrixArray"set global shader matrix array property" コマンドを追加します。
SetGlobalRayTracingAccelerationStructureAdds a command to bind the RayTracingAccelerationStructure object to all shader stages.
SetGlobalTextureRenderTexture を参照する "set global shader texture property" コマンドを追加します。
SetGlobalVector"set global shader vector property" コマンドを追加します。
SetGlobalVectorArray"set global shader vector array property" コマンドを追加します。
SetInstanceMultiplierAdds a command to multiply the instance count of every draw call by a specific multiplier.
SetInvertCullingAdd a "set invert culling" command to the buffer.
SetKeywordAdds a command to set the state of a global or local shader keyword.
SetLateLatchProjectionMatricesSet the current stereo projection matrices for late latching. Stereo matrices is passed in as an array of two matrices.
SetProjectionMatrixAdd a command to set the projection matrix.
SetRandomWriteTargetSet random write target for Shader Model 4.5 level pixel shaders.
SetRayTracingAccelerationStructureAdds a command to set the RayTracingAccelerationStructure to be used in a RayTracingShader or a ComputeShader.
SetRayTracingBufferParamAdds a command to set an input or output buffer parameter on a RayTracingShader.
SetRayTracingConstantBufferParamAdds a command to set a constant buffer on a RayTracingShader.
SetRayTracingFloatParamAdds a command to set a float parameter on a RayTracingShader.
SetRayTracingFloatParamsAdds a command to set multiple consecutive float parameters on a RayTracingShader.
SetRayTracingIntParamAdds a command to set an integer parameter on a RayTracingShader.
SetRayTracingIntParamsAdds a command to set multiple consecutive integer parameters on a RayTracingShader.
SetRayTracingMatrixArrayParamAdds a command to set a matrix array parameter on a RayTracingShader.
SetRayTracingMatrixParamAdds a command to set a matrix parameter on a RayTracingShader.
SetRayTracingShaderPassAdds a command to select which Shader Pass to use when executing ray/geometry intersection shaders.
SetRayTracingTextureParamAdds a command to set a texture parameter on a RayTracingShader.
SetRayTracingVectorArrayParamAdds a command to set a vector array parameter on a RayTracingShader.
SetRayTracingVectorParamAdds a command to set a vector parameter on a RayTracingShader.
SetRenderTarget"set active render target" コマンドを追加します。
SetShadowSamplingMode"set global shader matrix property" コマンドを追加します。
SetSinglePassStereoAdd a command to set single-pass stereo mode for the camera.
SetupCameraPropertiesSchedules the setup of Camera specific global Shader variables.
SetViewMatrixAdd a command to set the view matrix.
SetViewportAdd a command to set the rendering viewport.
SetViewProjectionMatricesAdd a command to set the view and projection matrices.
SetWireframeAdd a "set wireframe" command to the buffer.
UnmarkLateLatchMatrixUnmark a global shader property for late latching. After unmarking, the shader property will no longer be late latched. This function is intended for the Universal Render Pipeline (URP) to specify late latched shader properties.
WaitAllAsyncReadbackRequestsAdds an "AsyncGPUReadback.WaitAllRequests" command to the CommandBuffer.
WaitOnAsyncGraphicsFenceInstructs the GPU to pause processing of the queue until it passes through the GraphicsFence fence.