예제 #1
0
 private void OnEnable()
 {
     Init(null);
     if (!haveBundlesBeenInited)
     {
         InitBundles();
     }
     m_LogHistogram         = new LogHistogram();
     m_PropertySheetFactory = new PropertySheetFactory();
     m_TargetPool           = new TargetPool();
     debugLayer.OnEnable();
     if (!RuntimeUtilities.scriptableRenderPipelineActive)
     {
         InitLegacy();
     }
 }
예제 #2
0
        void OnEnable()
        {
            Init(null);

            if (!haveBundlesBeenInited)
            {
                InitBundles();
            }

            m_LogHistogram         = new LogHistogram();
            m_PropertySheetFactory = new PropertySheetFactory();
            m_TargetPool           = new TargetPool();

            debugLayer.OnEnable();

            // Scriptable render pipelines handle their own command buffers
            if (RuntimeUtilities.scriptableRenderPipelineActive)
            {
                return;
            }

            m_LegacyCmdBufferBeforeReflections = new CommandBuffer {
                name = "Deferred Ambient Occlusion"
            };
            m_LegacyCmdBufferBeforeLighting = new CommandBuffer {
                name = "Deferred Ambient Occlusion"
            };
            m_LegacyCmdBufferOpaque = new CommandBuffer {
                name = "Opaque Only Post-processing"
            };
            m_LegacyCmdBuffer = new CommandBuffer {
                name = "Post-processing"
            };

            m_Camera = GetComponent <Camera>();
            m_Camera.forceIntoRenderTexture = true; // Needed when running Forward / LDR / No MSAA
            m_Camera.AddCommandBuffer(CameraEvent.BeforeReflections, m_LegacyCmdBufferBeforeReflections);
            m_Camera.AddCommandBuffer(CameraEvent.BeforeLighting, m_LegacyCmdBufferBeforeLighting);
            m_Camera.AddCommandBuffer(CameraEvent.BeforeImageEffectsOpaque, m_LegacyCmdBufferOpaque);
            m_Camera.AddCommandBuffer(CameraEvent.BeforeImageEffects, m_LegacyCmdBuffer);

            // Internal context used if no SRP is set
            m_CurrentContext = new PostProcessRenderContext();
        }
예제 #3
0
        void OnEnable()
        {
            if (!haveBundlesBeenInited)
            {
                InitBundles();
            }

            m_LogHistogram         = new LogHistogram();
            m_PropertySheetFactory = new PropertySheetFactory();
            m_TargetPool           = new TargetPool();

            if (monitors == null)
            {
                monitors = new PostProcessMonitors();
            }

            monitors.OnEnable();

            // Scriptable render pipelines handle their own command buffers
            if (RuntimeUtilities.scriptableRenderPipelineActive)
            {
                return;
            }

            m_LegacyCmdBufferBeforeReflections = new CommandBuffer {
                name = "Deferred Ambient Occlusion"
            };
            m_LegacyCmdBufferOpaque = new CommandBuffer {
                name = "Opaque Only Post-processing"
            };
            m_LegacyCmdBuffer = new CommandBuffer {
                name = "Post-processing"
            };

            m_Camera = GetComponent <Camera>();
            m_Camera.AddCommandBuffer(CameraEvent.BeforeReflections, m_LegacyCmdBufferBeforeReflections);
            m_Camera.AddCommandBuffer(CameraEvent.BeforeImageEffectsOpaque, m_LegacyCmdBufferOpaque);
            m_Camera.AddCommandBuffer(CameraEvent.BeforeImageEffects, m_LegacyCmdBuffer);

            // Internal context used if no SRP is set
            m_CurrentContext = new PostProcessRenderContext();
        }
예제 #4
0
 internal void BeginFrame(PostProcessRenderContext context)
 {
     m_Command        = context.command;
     m_PropertySheets = context.propertySheets;
     m_Resources      = context.resources;
 }