Files
XCEngine/docs/reference/NahidaUnity/Scripts/Rendering/PostProcessFeature.cs

37 lines
1.0 KiB
C#

using UnityEngine;
using UnityEngine.Rendering.Universal;
namespace Nahida.Rendering
{
public class PostProcessFeature : ScriptableRendererFeature
{
[SerializeField]
private RenderPassEvent m_RenderPassEvent = RenderPassEvent.BeforeRenderingPostProcessing;
[SerializeField]
private Shader m_Shader;
private PostProcessPass _postProcessPass;
public const int BloomIterations = 4;
public override void Create()
{
if (m_Shader == null)
m_Shader = Shader.Find("URPGenshinPostProcess");
_postProcessPass = new PostProcessPass(m_RenderPassEvent, m_Shader, BloomIterations);
}
public override void AddRenderPasses(ScriptableRenderer renderer, ref RenderingData renderingData)
{
renderer.EnqueuePass(_postProcessPass);
}
protected override void Dispose(bool disposing)
{
_postProcessPass?.Dispose();
_postProcessPass = null;
}
}
}