Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class Feature : ScriptableRendererFeature
- {
- private class Pass : ScriptableRenderPass
- {
- private const string PassName = "Effect";
- private Material _material;
- public void Init(Material material)
- {
- _material = material;
- }
- public override void RecordRenderGraph(RenderGraph renderGraph, ContextContainer frameData)
- {
- var resourceData = frameData.Get<UniversalResourceData>();
- if (resourceData.isActiveTargetBackBuffer)
- {
- return;
- }
- var source = resourceData.activeColorTexture;
- var destinationDesc = renderGraph.GetTextureDesc(source);
- destinationDesc.name = $"CameraColor-{PassName}";
- destinationDesc.clearBuffer = false;
- var destination = renderGraph.CreateTexture(destinationDesc);
- var parameters = new RenderGraphUtils.BlitMaterialParameters(source, destination, _material, 0);
- renderGraph.AddBlitPass(parameters, PassName);
- resourceData.cameraColor = destination;
- }
- }
- private Pass _pass;
- public RenderPassEvent injectionPoint = RenderPassEvent.AfterRenderingSkybox;
- public Material material;
- public override void Create()
- {
- _pass = new Pass
- {
- renderPassEvent = injectionPoint
- };
- }
- public override void AddRenderPasses(ScriptableRenderer renderer, ref RenderingData renderingData)
- {
- if (material == null)
- {
- Debug.LogWarning("no material");
- return;
- }
- _pass.Init(material);
- renderer.EnqueuePass(_pass);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement