コード例 #1
0
        protected virtual void OnValidate()
        {
            bool flag = RenderPipelineManager.s_CurrentPipelineAsset == this;

            if (flag)
            {
                RenderPipelineManager.CleanupRenderPipeline();
                RenderPipelineManager.PrepareRenderPipeline(this);
            }
        }
コード例 #2
0
        internal static void PrepareRenderPipeline(RenderPipelineAsset pipelineAsset)
        {
            bool flag = RenderPipelineManager.s_CurrentPipelineAsset != pipelineAsset;

            if (flag)
            {
                RenderPipelineManager.CleanupRenderPipeline();
                RenderPipelineManager.s_CurrentPipelineAsset = pipelineAsset;
            }
            bool flag2 = RenderPipelineManager.s_CurrentPipelineAsset != null && (RenderPipelineManager.currentPipeline == null || RenderPipelineManager.currentPipeline.disposed);

            if (flag2)
            {
                RenderPipelineManager.currentPipeline = RenderPipelineManager.s_CurrentPipelineAsset.InternalCreatePipeline();
            }
        }
コード例 #3
0
        private static void DoRenderLoop_Internal(RenderPipelineAsset pipe, IntPtr loopPtr, List <Camera.RenderRequest> renderRequests, AtomicSafetyHandle safety)
        {
            RenderPipelineManager.PrepareRenderPipeline(pipe);
            bool flag = RenderPipelineManager.currentPipeline == null;

            if (!flag)
            {
                ScriptableRenderContext context = new ScriptableRenderContext(loopPtr, safety);
                Array.Clear(RenderPipelineManager.s_Cameras, 0, RenderPipelineManager.s_Cameras.Length);
                RenderPipelineManager.GetCameras(context);
                bool flag2 = renderRequests == null;
                if (flag2)
                {
                    RenderPipelineManager.currentPipeline.InternalRender(context, RenderPipelineManager.s_Cameras);
                }
                else
                {
                    RenderPipelineManager.currentPipeline.InternalRenderWithRequests(context, RenderPipelineManager.s_Cameras, renderRequests);
                }
                Array.Clear(RenderPipelineManager.s_Cameras, 0, RenderPipelineManager.s_Cameras.Length);
            }
        }
コード例 #4
0
 protected virtual void OnDisable()
 {
     RenderPipelineManager.CleanupRenderPipeline();
 }
コード例 #5
0
 protected static void EndCameraRendering(ScriptableRenderContext context, Camera camera)
 {
     RenderPipelineManager.EndCameraRendering(context, camera);
 }
コード例 #6
0
 protected static void EndFrameRendering(ScriptableRenderContext context, Camera[] cameras)
 {
     RenderPipelineManager.EndFrameRendering(context, cameras);
 }
コード例 #7
0
 protected virtual void OnValidate()
 {
     RenderPipelineManager.CleanupRenderPipeline();
 }
コード例 #8
0
 protected static void EndContextRendering(ScriptableRenderContext context, List <Camera> cameras)
 {
     RenderPipelineManager.EndContextRendering(context, cameras);
 }
コード例 #9
0
 protected static void BeginFrameRendering(ScriptableRenderContext context, Camera[] cameras)
 {
     RenderPipelineManager.BeginContextRendering(context, new List <Camera>(cameras));
 }
コード例 #10
0
 protected static void BeginCameraRendering(Camera camera)
 {
     RenderPipelineManager.BeginCameraRendering(default(ScriptableRenderContext), camera);
 }