struct in UnityEngine.Experimental.Rendering
/
Implemented in:UnityEngine.CoreModule
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.
CloseFor 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.
CloseDefines 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 CullResults), 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.
DrawRenderers | Draw subset of visible objects. |
DrawShadows | Draw shadow casters for a single light. |
DrawSkybox | Draw skybox. |
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.DispatchComputeCommandBuffer.EndSampleCommandBuffer.IssuePluginEventCommandBuffer.SetComputeBufferParamCommandBuffer.SetComputeFloatParamCommandBuffer.SetComputeFloatParamsCommandBuffer.SetComputeTextureParamCommandBuffer.SetComputeVectorParamCommandBuffer.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:
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:
Thanks for helping to make the Unity documentation better!