using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.Rendering; using UnityEngine.Rendering.Universal; public class GlitchStencilPass : ScriptableRenderPass { private readonly GlitchFeature.Settings _settings; private readonly RenderTargetIdentifier _src; private readonly RenderTargetIdentifier _dest; public GlitchStencilPass(GlitchFeature.Settings settings) { _settings = settings; _src = new RenderTargetIdentifier(_settings.glitchTex); _dest = new RenderTargetIdentifier(_settings.stencilTex); } // input is the view of the glitch camera public override void Execute(ScriptableRenderContext context, ref RenderingData renderingData) { var cmd = CommandBufferPool.Get(); var stencil = _settings.stencilMat; cmd.Blit(_src,_dest,stencil); context.ExecuteCommandBuffer(cmd); } }