Namespace UnityEngine.Experimental.Rendering.RenderGraphModule
Classes
ComputeGraphContext
This class declares the context object passed to the execute function of a compute render pass. AddComputePass<PassData>(String, out PassData)
InternalRenderGraphContext
An object representing the internal context of a rendergraph pass execution. This object is public for technical reasons only and should not be used.
LowLevelGraphContext
This class declares the context object passed to the execute function of a low level render pass. AddLowLevelPass<PassData>(String, out PassData)
RenderGraph
This class is the main entry point of the Render Graph system.
RenderGraphDefaultResources
Helper class allowing access to default resources (black or white texture, etc.) during render passes.
RenderGraphObjectPool
Helper class provided in the RenderGraphContext to all Render Passes. It allows you to do temporary allocations of various objects during a Render Pass.
Structs
BufferDesc
Descriptor used to create graphics buffer resources
BufferHandle
Graphics Buffer resource handle.
ImportResourceParams
A helper struct describing the clear behavior of imported textures.
RasterGraphContext
This class declares the context object passed to the execute function of a raster render pass. AddRasterRenderPass<PassData>(String, out PassData)
RayTracingAccelerationStructureDesc
Descriptor used to identify ray tracing acceleration structure resources
RayTracingAccelerationStructureHandle
RayTracingAccelerationStructure resource handle.
RendererListHandle
Renderer List resource handle.
RenderGraphBuilder
Use this struct to set up a new Render Pass.
RenderGraphContext
This class specifies the context given to every render pass. This context type passes a generic command buffer that can be used to schedule all commands. This will eventually be deprecated in favor of more specific contexts that have more specific command buffer types.
RenderGraphExecution
This struct is used to define the scope where the Render Graph is recorded before the execution. When this struct goes out of scope or is disposed, the Render Graph will be automatically executed.
RenderGraphParameters
This struct contains properties which control the execution of the Render Graph.
RenderGraphProfilingScope
Render Graph Scoped Profiling markers
RenderTargetInfo
Basic properties of a RTHandle needed by the render graph compiler. It is not always possible to derive these given an RTHandle to the user needs to pass these in.
We don't use a full RenderTargetDescriptor here as filling out a full descriptor may not be trivial and not all members of the descriptor are actually used by the render graph. This struct is the minimum set of info needed by the render graph. If you want to develop some utility framework to work with render textures, etc. it's probably better to use RenderTargetDescriptor.
TextureDesc
Descriptor used to create texture resources
TextureHandle
An abstract handle representing a texture resource as known by one particular record + execute of the render graph. TextureHandles should not be used outside of the context of a render graph execution.
A render graph needs to do additional state tracking on texture resources (lifetime, how is it used,...) to enable this all textures relevant to the render graph need to be make known to it. A texture handle specifies such a texture as known to the render graph.
It is important to understand that a render graph texture handle does not necessarily represent an actual texture. For example textures could be created the render graph that are only referenced by passes that are later culled when executing the graph. Such textures would never be allocated as actual RenderTextures.
Texture handles are only relevant to one particular record+execute phase of the render graph. After execution all texture handles are invalidated. The system will catch texture handles from a different execution of RenderGraph.RecordAndExecute but still users should be careful to avoid keeping texture handles around from other render graph executions.
Texture handles do not need to be disposed/freed (they are auto-invalidated at the end of graph execution). The RenderTextures they represent are either freed by the render graph internally (when the handle was acquired through RenderGraph.CreateTexture) or explicitly managed by some external system (when acquired through RenderGraph.ImportTexture).
Interfaces
IBaseRenderGraphBuilder
Common base interface for the different render graph builders. These functions are supported on all builders.
IComputeRenderGraphBuilder
A builder for a compute render pass AddComputePass<PassData>(String, out PassData)
ILowLevelRenderGraphBuilder
A builder for a low-level render pass. AddLowLevelPass<PassData>(String, out PassData)
IRasterRenderGraphBuilder
A builder for a raster render pass AddRasterRenderPass<PassData>(String, out PassData)
Enums
DepthAccess
Sets the read and write access for the depth buffer.
IBaseRenderGraphBuilder.AccessFlags
Express the operations the rendergraph pass will do on a resource.
TextureSizeMode
The mode that determines the size of a Texture.
Delegates
BaseRenderFunc<PassData, ContextType>
The Render Pass rendering delegate to use with typed contexts.