Firstborn/Library/PackageCache/com.unity.render-pipelines..../Documentation~/rendering-in-universalrp.md
Schaken-Mods b486678290 Library -Artifacts
Library -Artifacts
2023-03-28 12:24:16 -05:00

3.5 KiB

Rendering in the Universal Render Pipeline

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

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, see 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:

For the example of how to use the beginCameraRendering event, see the page Using the beginCameraRendering event.

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.