docs.unity3d.com
Search Results for

    Show / Hide Table of Contents

    Rendering in the Universal Render Pipeline

    The Universal Render Pipeline (URP) renders scenes using the following components:

    • URP Renderer. URP contains the following Renderers:
      • Universal Renderer.
      • 2D Renderer.
    • Shading models for shaders shipped with URP
    • Camera
    • URP Asset

    The following illustration shows the frame rendering loop of the URP Universal Renderer.

    URP Universal Renderer, Forward Rendering Path

    When the render pipeline is active in Graphics Settings, Unity uses URP to render all Cameras in your Project, including game and Scene view cameras, Reflection Probes, and the preview windows in your Inspectors.

    The URP renderer executes a Camera loop for each Camera, which performs the following steps:

    1. Culls rendered objects in your scene
    2. Builds data for the renderer
    3. Executes a renderer that outputs an image to the framebuffer.

    For more information about each step, refer to Camera loop.

    In the RenderPipelineManager class, URP provides events that you can use to execute code before and after rendering a frame, and before and after rendering each Camera loop. The events are:

    • beginCameraRendering
    • beginFrameRendering
    • endCameraRendering
    • endFrameRendering

    For the example of how to use the beginCameraRendering event, refer to Inject a render pass via scripting.

    Camera loop

    The Camera loop performs the following steps:

    Step Description
    Setup Culling Parameters Configures parameters that determine how the culling system culls Lights and shadows. You can override this part of the render pipeline with a custom renderer.
    Culling Uses the culling parameters from the previous step to compute a list of visible renderers, shadow casters, and Lights that are visible to the Camera. Culling parameters and Camera layer distances affect culling and rendering performance.
    Build Rendering Data Catches information based on the culling output, quality settings from the URP Asset, Camera, and the current running platform to build the RenderingData. The rendering data tells the renderer the amount of rendering work and quality required for the Camera and the currently chosen platform.
    Setup Renderer Builds a list of render passes, and queues them for execution according to the rendering data. You can override this part of the render pipeline with a custom renderer.
    Execute Renderer Executes each render pass in the queue. The renderer outputs the Camera image to the framebuffer.
    In This Article
    Back to top
    Copyright © 2024 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)