2.2 KiB
uid |
---|
urp-custom-rendering-pass-workflow-in-urp |
Custom render pass workflow in URP
A custom render pass is a way to change how the Universal Render Pipeline (URP) renders a scene or the objects within a scene. A custom render pass contains your own rendering code, which you insert into the rendering pipeline at an injection point.
To add a custom render pass, complete the following tasks:
- Create the code for a custom render pass using the Scriptable Render Pass API.
- Add the custom render pass to URP's frame rendering loop by creating a Scriptable Renderer Feature, or using the
RenderPipelineManager
API.
Create the code for a custom render pass
To create the code for a custom render pass, write a class that inherits ScriptableRenderPass
. In the class, use the render graph API to tell Unity what textures and render targets to use, and what operations to do on them.
Refer to Scriptable Render Passes for more information.
Create a Scriptable Renderer Feature
To add your custom render pass to URP's frame rendering loop, write a class that inherits ScriptableRendererFeature
.
The Scriptable Renderer Feature does the following:
- Creates an instance of the custom render pass you created.
- Inserts the custom render pass into the rendering pipeline.
Refer to Inject a pass using a Scriptable Renderer Feature for more information.
Use the RenderPipelineManager API
To add your custom render pass to URP's frame rendering loop, you can also subscribe a method to one of the events in the RenderPipelineManager class.
Refer to Inject a render pass via scripting for more information.