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, string, int)

    Inherited Members
    IBaseRenderGraphBuilder.UseTexture(in TextureHandle, IBaseRenderGraphBuilder.AccessFlags)
    IBaseRenderGraphBuilder.UseBuffer(in BufferHandle, IBaseRenderGraphBuilder.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)
    IDisposable.Dispose()
    Namespace: UnityEngine.Experimental.Rendering.RenderGraphModule
    Assembly: Unity.RenderPipelines.Core.Runtime.dll
    Syntax
    public interface IRasterRenderGraphBuilder : IBaseRenderGraphBuilder, IDisposable

    Methods

    Name Description
    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.

    UseTextureFragment(TextureHandle, int, AccessFlags)

    Use the texture as an rendertarget/renderpass attachment. Writing: Indicate this pass will write a texture on the current fragment position and sample index through MRT writes. The graph will automatically bind the texture as an MRT output on the indicated index slot. Write in shader as float4 out : SV_Target{index} = value; This texture always needs to be written as an render target (SV_Targetx) writing using other methods (like operator[] = ) may not work even if using the current fragment+sampleIdx pos. When using operator[] please use the WriteTexture function instead. Reading: Indicates this pass will read a texture on the current fragment position. If the texture is msaa then the sample index to read may be chosen by the shader. This informs the graph that any shaders in pass will only read from this texture at the current fragment position using the LOAD_FRAMEBUFFER_INPUT(idx)/LOAD_FRAMEBUFFER_INPUT_MS(idx,sampleIdx) macros. I.e this texture is bound as an render pass attachment on compatible hardware (or as a regular texture as a fall back). The index passed to LOAD_FRAMEBUFFER_INPUT needs to match the index passed to ReadTextureFragment for this texture.

    UseTextureFragmentDepth(TextureHandle, AccessFlags)

    Use the texture as a depth buffer for the Z-Buffer hardware. Note you can only test-against and write-to a single depth texture in a pass. If you want to write depth to more than one texture you will need to register the second texture as WriteTextureFragment and manually calculate and write the depth value in the shader. Calling UseTextureFragmentDepth twice on the same builder is an error. Write: Indicate a texture will be written with the current fragment depth by the ROPs (but not for depth reading (i.e. z-test == always)). Read: Indicate a texture will be used as an input for the depth testing unit.

    Extension Methods

    AnalyticsUtils.ToNestedColumnWithDefault<T>(T, T, bool)
    In This Article
    Back to top
    Copyright © 2023 Unity Technologies — Trademarks and terms of use
    • Legal
    • Privacy Policy
    • Cookies
    • Do Not Sell or Share My Personal Information
    • Your Privacy Choices (Cookie Settings)