CD-ROOM/Assets/Materials/PostProcessing/Greyscale.cs
Gerard Gascón 341a877b4a init
2025-04-24 17:37:25 +02:00

21 lines
No EOL
778 B
C#

using System;
using UnityEngine;
using UnityEngine.Rendering.PostProcessing;
[Serializable]
[PostProcess(typeof(GrayscaleRenderer), PostProcessEvent.AfterStack, "Custom/Grayscale")]
public sealed class Grayscale : PostProcessEffectSettings
{
[Range(0, 1), Tooltip("Grayscale effect intensity")]
public FloatParameter blend = new FloatParameter { value = .5f };
}
public sealed class GrayscaleRenderer : PostProcessEffectRenderer<Grayscale>
{
public override void Render(PostProcessRenderContext context)
{
var sheet = context.propertySheets.Get(Shader.Find("Hidden/Custom/Grayscale"));
sheet.properties.SetFloat("_Blend", settings.blend);
context.command.BlitFullscreenTriangle(context.source, context.destination, sheet, 0);
}
}