59 lines
2.1 KiB
C#
59 lines
2.1 KiB
C#
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;
|
|
}
|
|
}
|