Class UniversalRenderer
Default renderer for Universal RP. This renderer is supported on all Universal RP supported platforms. It uses a classic forward rendering strategy with per-object light culling.
Implements
Inherited Members
Namespace: UnityEngine.Rendering.Universal
Assembly: Unity.RenderPipelines.Universal.Runtime.dll
Syntax
public sealed class UniversalRenderer : ScriptableRenderer, IDisposable
Constructors
UniversalRenderer(UniversalRendererData)
Constructor for the Universal Renderer.
Declaration
public UniversalRenderer(UniversalRendererData data)
Parameters
Type | Name | Description |
---|---|---|
UniversalRendererData | data | The settings to create the renderer with. |
Properties
activeColorTexture
Returns the current active color target texture. To be referenced at RenderGraph pass recording time, not in passes render functions.
Declaration
public TextureHandle activeColorTexture { get; }
Property Value
Type | Description |
---|---|
TextureHandle | TextureHandle |
activeDepthTexture
Returns the current active depth target texture. To be referenced at RenderGraph pass recording time, not in passes render functions.
Declaration
public TextureHandle activeDepthTexture { get; }
Property Value
Type | Description |
---|---|
TextureHandle | TextureHandle |
depthPrimingMode
Property to control the depth priming behavior of the forward rendering path.
Declaration
public DepthPrimingMode depthPrimingMode { get; set; }
Property Value
Type | Description |
---|---|
DepthPrimingMode |
isActiveTargetBackBuffer
True if the current active target is the backbuffer. To be referenced at RenderGraph pass recording time, not in passes render functions.
Declaration
public bool isActiveTargetBackBuffer { get; }
Property Value
Type | Description |
---|---|
bool | bool |
Methods
CreateRenderGraphTexture(RenderGraph, RenderTextureDescriptor, string, bool, FilterMode, TextureWrapMode)
Utility method to convert RenderTextureDescriptor to TextureHandle and create a RenderGraph texture
Declaration
public static TextureHandle CreateRenderGraphTexture(RenderGraph renderGraph, RenderTextureDescriptor desc, string name, bool clear, FilterMode filterMode = FilterMode.Point, TextureWrapMode wrapMode = TextureWrapMode.Clamp)
Parameters
Type | Name | Description |
---|---|---|
RenderGraph | renderGraph | |
RenderTextureDescriptor | desc | |
string | name | |
bool | clear | |
FilterMode | filterMode | |
TextureWrapMode | wrapMode |
Returns
Type | Description |
---|---|
TextureHandle |
Dispose(bool)
Called by Dispose(). Override this function to clean up resources in your renderer. Be sure to call this base dispose in your overridden function to free resources allocated by the base.
Declaration
protected override void Dispose(bool disposing)
Parameters
Type | Name | Description |
---|---|---|
bool | disposing |
Overrides
FinishRendering(CommandBuffer)
Called upon finishing rendering the camera stack. You can release any resources created by the renderer here.
Declaration
public override void FinishRendering(CommandBuffer cmd)
Parameters
Type | Name | Description |
---|---|---|
CommandBuffer | cmd |
Overrides
IsOffscreenDepthTexture(CameraData)
Returns if the camera renders to a offscreen depth texture.
Declaration
public static bool IsOffscreenDepthTexture(CameraData cameraData)
Parameters
Type | Name | Description |
---|---|---|
CameraData | cameraData | The camera data for the camera being rendered. |
Returns
Type | Description |
---|---|
bool | Returns true if the camera renders to depth without any color buffer. It will return false otherwise. |
IsOffscreenDepthTexture(ref CameraData)
Returns if the camera renders to a offscreen depth texture.
Declaration
public static bool IsOffscreenDepthTexture(ref CameraData cameraData)
Parameters
Type | Name | Description |
---|---|---|
CameraData | cameraData | The camera data for the camera being rendered. |
Returns
Type | Description |
---|---|
bool | Returns true if the camera renders to depth without any color buffer. It will return false otherwise. |
Setup(ScriptableRenderContext, ref RenderingData)
Configures the render passes that will execute for this renderer. This method is called per-camera every frame.
Declaration
public override void Setup(ScriptableRenderContext context, ref RenderingData renderingData)
Parameters
Type | Name | Description |
---|---|---|
ScriptableRenderContext | context | Use this render context to issue any draw commands during execution. |
RenderingData | renderingData | Current render state information. |
Overrides
See Also
SetupCullingParameters(ref ScriptableCullingParameters, ref CameraData)
Override this method to configure the culling parameters for the renderer. You can use this to configure if lights should be culled per-object or the maximum shadow distance for example.
Declaration
public override void SetupCullingParameters(ref ScriptableCullingParameters cullingParameters, ref CameraData cameraData)
Parameters
Type | Name | Description |
---|---|---|
ScriptableCullingParameters | cullingParameters | Use this to change culling parameters used by the render pipeline. |
CameraData | cameraData | Current render state information. |
Overrides
SetupLights(ScriptableRenderContext, ref RenderingData)
Override this method to implement the lighting setup for the renderer. You can use this to compute and upload light CBUFFER for example.
Declaration
public override void SetupLights(ScriptableRenderContext context, ref RenderingData renderingData)
Parameters
Type | Name | Description |
---|---|---|
ScriptableRenderContext | context | Use this render context to issue any draw commands during execution. |
RenderingData | renderingData | Current render state information. |
Overrides
SupportedCameraStackingTypes()
This setting controls if the camera editor should display the camera stack category. If your renderer is not supporting stacking this one should return 0. For the UI to show the Camera Stack widget this must support CameraRenderType.Base. CameraRenderType
Declaration
public override int SupportedCameraStackingTypes()
Returns
Type | Description |
---|---|
int | The bitmask of the supported camera render types in the renderer's current state. |