Class RenderGraph
This class is the main entry point of the Render Graph system.
Namespace: UnityEngine.Experimental.Rendering.RenderGraphModule
Syntax
public class RenderGraph
Constructors
RenderGraph(Boolean, MSAASamples)
Render Graph constructor.
Declaration
public RenderGraph(bool supportMSAA, MSAASamples initialSampleCount)
Parameters
| Type | Name | Description |
|---|---|---|
| Boolean | supportMSAA | Specify if this Render Graph should support MSAA. |
| MSAASamples | initialSampleCount | Specify the initial sample count of MSAA render textures. |
Fields
kMaxMRTCount
Maximum number of MRTs supported by Render Graph.
Declaration
public static readonly int kMaxMRTCount
Field Value
| Type | Description |
|---|---|
| Int32 |
Properties
enabled
Returns true if rendering with Render Graph is enabled.
Declaration
public bool enabled { get; }
Property Value
| Type | Description |
|---|---|
| Boolean |
rtHandleProperties
Gets the RTHandleProperties structure associated with the Render Graph's RTHandle System.
Declaration
public RTHandleProperties rtHandleProperties { get; }
Property Value
| Type | Description |
|---|---|
| RTHandleProperties |
Methods
AddRenderPass<PassData>(String, out PassData, ProfilingSampler)
Add a new Render Pass to the current Render Graph.
Declaration
public RenderGraphBuilder AddRenderPass<PassData>(string passName, out PassData passData, ProfilingSampler sampler = null)
where PassData : class, new()
Parameters
| Type | Name | Description |
|---|---|---|
| String | passName | Name of the new Render Pass (this is also be used to generate a GPU profiling marker). |
| PassData | passData | Instance of PassData that is passed to the render function and you must fill. |
| ProfilingSampler | sampler | Optional profiling sampler. |
Returns
| Type | Description |
|---|---|
| RenderGraphBuilder | A new instance of a RenderGraphBuilder used to setup the new Render Pass. |
Type Parameters
| Name | Description |
|---|---|
| PassData | Type of the class to use to provide data to the Render Pass. |
Cleanup()
Cleanup the Render Graph.
Declaration
public void Cleanup()
CreateRendererList(RendererListDesc)
Creates a new Renderer List Render Graph resource.
Declaration
public RenderGraphResource CreateRendererList(in RendererListDesc desc)
Parameters
| Type | Name | Description |
|---|---|---|
| RendererListDesc | desc | Renderer List descriptor. |
Returns
| Type | Description |
|---|---|
| RenderGraphResource | A new RenderGraphResource. |
CreateTexture(RenderGraphResource, Int32)
Create a new Render Graph Texture resource using the descriptor from another texture.
Declaration
public RenderGraphMutableResource CreateTexture(in RenderGraphResource texture, int shaderProperty = 0)
Parameters
| Type | Name | Description |
|---|---|---|
| RenderGraphResource | texture | Texture from which the descriptor should be used. |
| Int32 | shaderProperty | Optional property that allows you to specify a Shader property name to use for automatic resource binding. |
Returns
| Type | Description |
|---|---|
| RenderGraphMutableResource | A new RenderGraphMutableResource. |
CreateTexture(TextureDesc, Int32)
Create a new Render Graph Texture resource.
Declaration
public RenderGraphMutableResource CreateTexture(TextureDesc desc, int shaderProperty = 0)
Parameters
| Type | Name | Description |
|---|---|---|
| TextureDesc | desc | Texture descriptor. |
| Int32 | shaderProperty | Optional property that allows you to specify a Shader property name to use for automatic resource binding. |
Returns
| Type | Description |
|---|---|
| RenderGraphMutableResource | A new RenderGraphMutableResource. |
Execute(ScriptableRenderContext, CommandBuffer, RenderGraphExecuteParams)
Execute the Render Graph in its current state.
Declaration
public void Execute(ScriptableRenderContext renderContext, CommandBuffer cmd, in RenderGraphExecuteParams parameters)
Parameters
| Type | Name | Description |
|---|---|---|
| ScriptableRenderContext | renderContext | ScriptableRenderContext used to execute Scriptable Render Pipeline. |
| CommandBuffer | cmd | Command Buffer used for Render Passes rendering. |
| RenderGraphExecuteParams | parameters | Render Graph execution parameters. |
GetTextureDesc(RenderGraphResource)
Gets the descriptor of the specified Texture resource.
Declaration
public TextureDesc GetTextureDesc(in RenderGraphResource texture)
Parameters
| Type | Name | Description |
|---|---|---|
| RenderGraphResource | texture |
Returns
| Type | Description |
|---|---|
| TextureDesc | The input texture descriptor. |
ImportTexture(RTHandle, Int32)
Import an external texture to the Render Graph.
Declaration
public RenderGraphMutableResource ImportTexture(RTHandle rt, int shaderProperty = 0)
Parameters
| Type | Name | Description |
|---|---|---|
| RTHandle | rt | External RTHandle that needs to be imported. |
| Int32 | shaderProperty | Optional property that allows you to specify a Shader property name to use for automatic resource binding. |
Returns
| Type | Description |
|---|---|
| RenderGraphMutableResource | A new RenderGraphMutableResource. |
RegisterDebug()
Register this Render Graph to the debug window.
Declaration
public void RegisterDebug()
UnRegisterDebug()
Unregister this Render Graph from the debug window.
Declaration
public void UnRegisterDebug()