using System; using UnityEngine.Scripting; namespace UnityEngine.Experimental.Rendering { // Token: 0x020004E2 RID: 1250 public static class RenderPipelineManager { // Token: 0x17000D90 RID: 3472 // (get) Token: 0x06003C0B RID: 15371 RVA: 0x00069B14 File Offset: 0x00067D14 // (set) Token: 0x06003C0C RID: 15372 RVA: 0x00069B30 File Offset: 0x00067D30 public static IRenderPipeline currentPipeline { get; private set; } // Token: 0x06003C0D RID: 15373 RVA: 0x00069B38 File Offset: 0x00067D38 [RequiredByNativeCode] internal static void CleanupRenderPipeline() { if (RenderPipelineManager.s_CurrentPipelineAsset != null) { RenderPipelineManager.s_CurrentPipelineAsset.DestroyCreatedInstances(); } RenderPipelineManager.s_CurrentPipelineAsset = null; RenderPipelineManager.currentPipeline = null; } // Token: 0x06003C0E RID: 15374 RVA: 0x00069B5C File Offset: 0x00067D5C [RequiredByNativeCode] private static void DoRenderLoop_Internal(IRenderPipelineAsset pipe, Camera[] cameras, IntPtr loopPtr) { RenderPipelineManager.PrepareRenderPipeline(pipe); if (RenderPipelineManager.currentPipeline != null) { ScriptableRenderContext scriptableRenderContext = new ScriptableRenderContext(loopPtr); RenderPipelineManager.currentPipeline.Render(scriptableRenderContext, cameras); } } // Token: 0x06003C0F RID: 15375 RVA: 0x00069B94 File Offset: 0x00067D94 private static void PrepareRenderPipeline(IRenderPipelineAsset pipe) { if (RenderPipelineManager.s_CurrentPipelineAsset != pipe) { if (RenderPipelineManager.s_CurrentPipelineAsset != null) { RenderPipelineManager.CleanupRenderPipeline(); } RenderPipelineManager.s_CurrentPipelineAsset = pipe; } if (RenderPipelineManager.s_CurrentPipelineAsset != null && (RenderPipelineManager.currentPipeline == null || RenderPipelineManager.currentPipeline.disposed)) { RenderPipelineManager.currentPipeline = RenderPipelineManager.s_CurrentPipelineAsset.CreatePipeline(); } } // Token: 0x04001237 RID: 4663 private static IRenderPipelineAsset s_CurrentPipelineAsset; } }