docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Interface IRasterRenderGraphBuilder

    A builder for a raster render pass. AddRasterRenderPass<PassData>(string, out PassData)

    Inherited Members
    IRenderAttachmentRenderGraphBuilder.SetRenderAttachment(TextureHandle, int, AccessFlags)
    IRenderAttachmentRenderGraphBuilder.SetRenderAttachment(TextureHandle, int, AccessFlags, int, int)
    IRenderAttachmentRenderGraphBuilder.SetRenderAttachmentDepth(TextureHandle, AccessFlags)
    IRenderAttachmentRenderGraphBuilder.SetRenderAttachmentDepth(TextureHandle, AccessFlags, int, int)
    IRenderAttachmentRenderGraphBuilder.SetRandomAccessAttachment(TextureHandle, int, AccessFlags)
    IRenderAttachmentRenderGraphBuilder.UseBufferRandomAccess(BufferHandle, int, AccessFlags)
    IRenderAttachmentRenderGraphBuilder.UseBufferRandomAccess(BufferHandle, int, bool, AccessFlags)
    IBaseRenderGraphBuilder.UseTexture(in TextureHandle, AccessFlags)
    IBaseRenderGraphBuilder.UseGlobalTexture(int, AccessFlags)
    IBaseRenderGraphBuilder.UseAllGlobalTextures(bool)
    IBaseRenderGraphBuilder.SetGlobalTextureAfterPass(in TextureHandle, int)
    IBaseRenderGraphBuilder.UseBuffer(in BufferHandle, AccessFlags)
    IBaseRenderGraphBuilder.CreateTransientTexture(in TextureDesc)
    IBaseRenderGraphBuilder.CreateTransientTexture(in TextureHandle)
    IBaseRenderGraphBuilder.CreateTransientBuffer(in BufferDesc)
    IBaseRenderGraphBuilder.CreateTransientBuffer(in BufferHandle)
    IBaseRenderGraphBuilder.UseRendererList(in RendererListHandle)
    IBaseRenderGraphBuilder.EnableAsyncCompute(bool)
    IBaseRenderGraphBuilder.AllowPassCulling(bool)
    IBaseRenderGraphBuilder.AllowGlobalStateModification(bool)
    IBaseRenderGraphBuilder.EnableFoveatedRasterization(bool)
    IBaseRenderGraphBuilder.GenerateDebugData(bool)
    IDisposable.Dispose()
    Namespace: UnityEngine.Rendering.RenderGraphModule
    Assembly: Unity.RenderPipelines.Core.Runtime.dll
    Syntax
    [MovedFrom(true, "UnityEngine.Experimental.Rendering.RenderGraphModule", "UnityEngine.Rendering.RenderGraphModule", null)]
    public interface IRasterRenderGraphBuilder : IRenderAttachmentRenderGraphBuilder, IBaseRenderGraphBuilder, IDisposable

    Methods

    SetExtendedFeatureFlags(ExtendedFeatureFlags)

    Enables the configuration of extended pass properties that may allow platform-specific optimizations.

    Declaration
    void SetExtendedFeatureFlags(ExtendedFeatureFlags extendedFeatureFlags)
    Parameters
    Type Name Description
    ExtendedFeatureFlags extendedFeatureFlags

    Specifies additional pass properties that may enable optimizations on certain platforms.

    SetInputAttachment(TextureHandle, int, AccessFlags)

    Binds the texture as an input attachment for this pass.

    Shaders might read this texture at the current fragment using LOAD_FRAMEBUFFER_INPUT(idx) or LOAD_FRAMEBUFFER_INPUT_MS(idx, sampleIdx). The idx used in the shader must match the index provided to SetInputAttachment.

    Declaration
    void SetInputAttachment(TextureHandle tex, int index, AccessFlags flags = AccessFlags.Read)
    Parameters
    Type Name Description
    TextureHandle tex

    The texture to expose as an input attachment.

    int index

    The binding index used by the shader macros (idx).

    AccessFlags flags

    The access mode for this texture. Defaults to AccessFlags.Read. Writing is currently not supported on any platform.

    Remarks

    Platform support varies. Input attachments, especially with MSAA, might be unsupported on some targets. Use RenderGraphUtils.IsFramebufferFetchSupportedOnCurrentPlatform at runtime to check compatibility.

    SetInputAttachment(TextureHandle, int, AccessFlags, int, int)

    Binds the texture as an input attachment for this pass.

    Shaders might read this texture at the current fragment using LOAD_FRAMEBUFFER_INPUT(idx) or LOAD_FRAMEBUFFER_INPUT_MS(idx, sampleIdx). The idx used in the shader must match the index provided in SetInputAttachment.

    Declaration
    void SetInputAttachment(TextureHandle tex, int index, AccessFlags flags, int mipLevel, int depthSlice)
    Parameters
    Type Name Description
    TextureHandle tex

    The texture to expose as an input attachment.

    int index

    The binding index used by the shader macros (idx).

    AccessFlags flags

    The access mode for the texture. Defaults to AccessFlags.Read. Writing is currently not supported on any platform.

    int mipLevel

    The mip level to bind.

    int depthSlice

    The array slice to bind. Use -1 to bind all slices.

    Remarks

    Platform support varies. Input attachments, especially with MSAA, might be unsupported on some targets. Use RenderGraphUtils.IsFramebufferFetchSupportedOnCurrentPlatform at runtime to check compatibility.

    SetRenderFunc<PassData>(BaseRenderFunc<PassData, RasterGraphContext>)

    Specify the render function to use for this pass. A call to this is mandatory for the pass to be valid.

    Declaration
    void SetRenderFunc<PassData>(BaseRenderFunc<PassData, RasterGraphContext> renderFunc) where PassData : class, new()
    Parameters
    Type Name Description
    BaseRenderFunc<PassData, RasterGraphContext> renderFunc

    Render function for the pass.

    Type Parameters
    Name Description
    PassData

    The Type of the class that provides data to the Render Pass.

    SetShadingRateCombiner(ShadingRateCombinerStage, ShadingRateCombiner)

    Set shading rate combiner.

    Declaration
    void SetShadingRateCombiner(ShadingRateCombinerStage stage, ShadingRateCombiner combiner)
    Parameters
    Type Name Description
    ShadingRateCombinerStage stage

    Shading rate combiner stage to apply combiner to.

    ShadingRateCombiner combiner

    Shading rate combiner to set.

    SetShadingRateFragmentSize(ShadingRateFragmentSize)

    Set shading rate fragment size.

    Declaration
    void SetShadingRateFragmentSize(ShadingRateFragmentSize shadingRateFragmentSize)
    Parameters
    Type Name Description
    ShadingRateFragmentSize shadingRateFragmentSize

    Shading rate fragment size to set.

    SetShadingRateImageAttachment(in TextureHandle)

    Enables Variable Rate Shading (VRS) on the current rasterization pass. Rasterization will use the texture to determine the rate of fragment shader invocation.

    Declaration
    void SetShadingRateImageAttachment(in TextureHandle tex)
    Parameters
    Type Name Description
    TextureHandle tex

    Shading rate image (SRI) Texture to use during this pass.

    Extension Methods

    ReflectionUtils.GetField(object, string)
    ReflectionUtils.GetFields(object)
    ReflectionUtils.Invoke(object, string, params object[])
    ReflectionUtils.SetField(object, string, object)
    AnalyticsUtils.ToNestedColumnWithDefault<T>(T, T, bool)
    AnalyticsUtils.ToNestedColumn<T>(T, T)
    In This Article
    Back to top
    Copyright © 2025 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookie Policy
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)