namespace UnityEngine.Rendering.Universal { public enum BufferType { CameraColor, Custom } public class DrawFullScreenFeature : ScriptableRendererFeature { [System.Serializable] public class Settings { public RenderPassEvent renderPassEvent = RenderPassEvent.AfterRenderingTransparents; public BufferType sourceType = BufferType.CameraColor; public BufferType destinationType = BufferType.CameraColor; public string sourceTextureId = "_SourceTexture"; public string destinationTextureId = "_DestinationTexture"; public string tempTextureId = "_Temp"; public string grabTexName = "_GrabTexTexture"; } public Settings settings = new Settings(); DrawFullScreenPass blitPass; public override void Create() { blitPass = new DrawFullScreenPass(name, settings.tempTextureId, settings.grabTexName); } public override void AddRenderPasses(ScriptableRenderer renderer, ref RenderingData renderingData) { blitPass.renderPassEvent = settings.renderPassEvent; blitPass.settings = settings; renderer.EnqueuePass(blitPass); } } }