using UnityEngine.Experimental.Rendering; using UnityEngine.Experimental.Rendering.LightweightPipeline; using UnityEngine.Experimental.Rendering.LWRP; namespace UnityEngine.XR.ARFoundation.LWRPSupport { public class LWRPBeforeCameraRender : MonoBehaviour, IBeforeRender { const string k_ARBlitTag = "ARBackground Blit Pass"; public Material blitMaterial { get; set; } /// /// Create, setup and return a ScriptableRenderPass that will blit the pass-thru video when this GameObject is rendered. /// /// RenderTextureDescriptor for this pass. /// RenderTargetHandle for color buffer. /// RenderTargetHandle for depth buffer. /// ClearFlag used for rendering. /// public ScriptableRenderPass GetPassToEnqueue(RenderTextureDescriptor baseDescriptor, RenderTargetHandle colorHandle, RenderTargetHandle depthHandle, ClearFlag clearFlag) { LWRPBackgroundRenderPass lwrpBackgroundRenderPass = new LWRPBackgroundRenderPass(); lwrpBackgroundRenderPass.Setup(blitMaterial, colorHandle.Identifier(), depthHandle.Identifier(), baseDescriptor); return lwrpBackgroundRenderPass; } } }