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

            if (flag)
            {
                RenderPipelineManager.CleanupRenderPipeline();
                RenderPipelineManager.PrepareRenderPipeline(this);
            }
        }
コード例 #2
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);
            }
        }