Namespace UnityEngine.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.
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.
UnsafeGraphContext
This class declares the context object passed to the execute function of an unsafe render pass. AddUnsafePass<PassData>(string, out PassData)
Structs
BufferDesc
Descriptor used to create graphics buffer resources
BufferHandle
Graphics Buffer resource handle.
FastMemoryDesc
Subset of the texture desc containing information for fast memory allocation (when platform supports it)
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.
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.
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 so 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 for users 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.
RendererListHandle
Renderer List resource handle.
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 the render graph 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)
IRasterRenderGraphBuilder
A builder for a raster render pass AddRasterRenderPass<PassData>(string, out PassData)
IRenderGraphEnabledRenderPipeline
Interface to add/manage Render Graph related parameters across different types of RenderPipelineAssets.
IRenderGraphRecorder
A base class that can be inherited by render graph implementers. Currently this is only used by URP. In the future this will allow shared SRP rendering features between HDRP and URP through render graph.
IUnsafeRenderGraphBuilder
A builder for an unsafe render pass. AddUnsafePass<PassData>(string, out PassData)
Enums
AccessFlags
Express the operations the rendergraph pass will do on a resource.
DepthAccess
Sets the read and write access for the depth buffer.
TextureSizeMode
The mode that determines the size of a Texture.
Delegates
BaseRenderFunc<PassData, ContextType>
The Render Pass rendering delegate to use with typed contexts.