Defines state and drawing commands used in a custom render pipelines.
When defining a custom RenderPipeline, a ScriptableRenderContext is used to set state and drawing commands to be submitted to the GPU.
A RenderPipeline.Render method implementation typically culls objects that don't need to be rendered for all the Cameras (see CullingResults), and then makes a series of calls to ScriptableRenderContext.DrawRenderers intermixed with ScriptableRenderContext.ExecuteCommandBuffer calls. These calls set up global Shader properties, change render targets, dispatch compute shaders, and other rendering tasks. Finally, ScriptableRenderContext.Submit is called to execute the render loop.
See Also: RenderPipeline.
BeginRenderPass | Begins a new render pass. Only one render pass can be active. |
BeginScopedRenderPass | Begins a new render pass. Only one render pass can be active. |
BeginScopedSubPass | Begins a new sub pass within a render pass. Render passes can never be standalone, they must always contain at least one sub pass. Only one sub pass can be active. |
BeginSubPass | Begins a new sub pass within a render pass. Render passes can never be standalone, they must always contain at least one sub pass. Only one sub pass can be active. |
Cull | Perform culling. |
DrawGizmos | Draw a subset of Gizmos (before or after postprocessing) for the given camera. |
DrawRenderers | Draw subset of visible objects. |
DrawShadows | Draw shadow casters for a single light. |
DrawSkybox | Draw skybox. |
EndRenderPass | Ends the current render pass. |
EndSubPass | Ends the current sub pass. |
ExecuteCommandBuffer | Execute a custom graphics command buffer. |
ExecuteCommandBufferAsync | Executes a command buffer on an async compute queue with the queue selected based on the ComputeQueueType parameter passed.It is required that all of the commands within the command buffer be of a type suitable for execution on the async compute queues. If the buffer contains any commands that are not appropriate then an error will be logged and displayed in the editor window. Specifically the following commands are permitted in a CommandBuffer intended for async execution:CommandBuffer.BeginSampleCommandBuffer.CopyCounterValueCommandBuffer.CopyTextureCommandBuffer.CreateGPUFenceCommandBuffer.DisableShaderKeywordCommandBuffer.DispatchComputeCommandBuffer.EnableShaderKeywordCommandBuffer.EndSampleCommandBuffer.GetTemporaryRTCommandBuffer.GetTemporaryRTArrayCommandBuffer.IssuePluginEventCommandBuffer.ReleaseTemporaryRTCommandBuffer.SetComputeBufferParamCommandBuffer.SetComputeFloatParamCommandBuffer.SetComputeFloatParamsCommandBuffer.SetComputeIntParamCommandBuffer.SetComputeIntParamsCommandBuffer.SetComputeMatrixArrayParamCommandBuffer.SetComputeMatrixParamCommandBuffer.SetComputeTextureParamCommandBuffer.SetComputeVectorParamCommandBuffer.SetComputeVectorArrayParamCommandBuffer.SetGlobalBufferCommandBuffer.SetGlobalColorCommandBuffer.SetGlobalFloatCommandBuffer.SetGlobalFloatArrayCommandBuffer.SetGlobalIntCommandBuffer.SetGlobalMatrixCommandBuffer.SetGlobalMatrixArrayCommandBuffer.SetGlobalTextureCommandBuffer.SetGlobalVectorCommandBuffer.SetGlobalVectorArrayCommandBuffer.WaitOnGPUFenceAll of the commands within the buffer are guaranteed to be executed on the same queue. If the target platform does not support async compute queues then the work is dispatched on the graphics queue. |
SetupCameraProperties | Setup camera specific global shader variables. |
StartMultiEye | Fine-grain control to begin stereo rendering on the scriptable render context. |
StereoEndRender | Indicate completion of stereo rendering on a single frame. |
StopMultiEye | Stop stereo rendering on the scriptable render context. |
Submit | Submit rendering loop for execution. |
EmitWorldGeometryForSceneView | Emit UI geometry into the Scene view for rendering. |
Did you find this page useful? Please give it a rating: