2using UnityEngine.Rendering;
3using UnityEngine.Rendering.RenderGraphModule;
4using UnityEngine.Rendering.RenderGraphModule.Util;
5using UnityEngine.Rendering.Universal;
12 private Material blitMaterial;
16 this.blitMaterial = blitMaterial;
17 this.requiresIntermediateTexture =
true;
18 this.renderPassEvent = RenderPassEvent.AfterRendering;
23 blitMaterial = material;
28 const string name =
"DirectCanvasRenderPass";
31 var resourceData = frameData.Get<UniversalResourceData>();
32 if (resourceData.isActiveTargetBackBuffer) {
return; }
33 var source = resourceData.activeColorTexture;
36 var destinationDesc = renderGraph.GetTextureDesc(source);
37 destinationDesc.name = name;
38 destinationDesc.clearBuffer =
false;
39 TextureHandle destination = renderGraph.CreateTexture(destinationDesc);
42 RenderGraphUtils.BlitMaterialParameters para =
new(source, destination, blitMaterial, 0);
43 renderGraph.AddBlitPass(para, passName: name);
45 resourceData.cameraColor = destination;
void SetMaterial(Material material)
override void RecordRenderGraph(RenderGraph renderGraph, ContextContainer frameData)
DirectCanvasRenderPass(Material blitMaterial)