Table of Contents

Class PostEffectPass

Namespace
Gamelogic.Fx.URP.PostProcessing
Assembly
Gamelogic.Fx.URP.dll

Implements a basic render pass for PostProcessRendererFeature.

public abstract class PostEffectPass : ScriptableRenderPass
Inheritance
ScriptableRenderPass
PostEffectPass
Inherited Members
ScriptableRenderPass.renderPassEvent
ScriptableRenderPass.colorAttachments
ScriptableRenderPass.colorAttachment
ScriptableRenderPass.depthAttachment
ScriptableRenderPass.colorStoreActions
ScriptableRenderPass.depthStoreAction
ScriptableRenderPass.input
ScriptableRenderPass.clearFlag
ScriptableRenderPass.clearColor
ScriptableRenderPass.profilingSampler
ScriptableRenderPass.ConfigureInput(ScriptableRenderPassInput)
ScriptableRenderPass.ConfigureColorStoreActions(RenderBufferStoreAction[])
ScriptableRenderPass.ConfigureDepthStoreAction(RenderBufferStoreAction)
ScriptableRenderPass.ResetTarget()
ScriptableRenderPass.ConfigureTarget(RenderTargetIdentifier, RenderTargetIdentifier)
ScriptableRenderPass.ConfigureTarget(RenderTargetIdentifier[], RenderTargetIdentifier)
ScriptableRenderPass.ConfigureTarget(RenderTargetIdentifier)
ScriptableRenderPass.ConfigureTarget(RenderTargetIdentifier[])
ScriptableRenderPass.ConfigureClear(ClearFlag, Color)
ScriptableRenderPass.Configure(CommandBuffer, RenderTextureDescriptor)
ScriptableRenderPass.OnCameraCleanup(CommandBuffer)
ScriptableRenderPass.OnFinishCameraStackRendering(CommandBuffer)
ScriptableRenderPass.CreateDrawingSettings(ShaderTagId, ref RenderingData, SortingCriteria)

Remarks

Although this class is easy to extend, in many cases CreateSimplePass(string, Action<Material>, bool, bool) will be sufficient.

Constructors

PostEffectPass(Material, RenderPassEvent, bool, bool)

Initializes a new instance of the PostEffectPass class.

protected PostEffectPass(Material material, RenderPassEvent injectionPoint, bool requiresNormals = false, bool requiresDepth = false)

Parameters

material Material

The material to use for the effect.

injectionPoint RenderPassEvent

The render pass event to inject the effect at.

requiresNormals bool

Whether this effect requires normals texture.

requiresDepth bool

Whether this effect requires depth texture.

Properties

CommandName

The name of the command buffer used for this pass.

protected abstract string CommandName { get; }

Property Value

string

Methods

Execute(ScriptableRenderContext, ref RenderingData)

Execute the pass. This is where custom rendering occurs. Specific details are left to the implementation

public override void Execute(ScriptableRenderContext context, ref RenderingData renderingData)

Parameters

context ScriptableRenderContext

Use this render context to issue any draw commands during execution

renderingData RenderingData

Current rendering state information

OnCameraSetup(CommandBuffer, ref RenderingData)

This method is called by the renderer before rendering a camera Override this method if you need to to configure render targets and their clear state, and to create temporary render target textures. If a render pass doesn't override this method, this render pass renders to the active Camera's render target. You should never call CommandBuffer.SetRenderTarget. Instead call ConfigureTarget and ConfigureClear.

public override void OnCameraSetup(CommandBuffer cmd, ref RenderingData renderingData)

Parameters

cmd CommandBuffer

CommandBuffer to enqueue rendering commands. This will be executed by the pipeline.

renderingData RenderingData

Current rendering state information

See Also
ConfigureTarget(RenderTargetIdentifier, RenderTargetIdentifier)
ConfigureClear(ClearFlag, Color)

SetMaterialProperties(Material)

This sets properties on the given material.

protected abstract void SetMaterialProperties(Material material)

Parameters

material Material

The material to set properties on.

Remarks

Implementors: override this to set the properties needed for your effect.