37 lines
1.0 KiB
C#
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;
|
|
}
|
|
}
|
|
}
|