コード例 #1
0
        void OnDisable()
        {
            if (!RuntimeUtilities.scriptableRenderPipelineActive)
            {
                m_Camera.RemoveCommandBuffer(CameraEvent.BeforeReflections, m_LegacyCmdBufferBeforeReflections);
                m_Camera.RemoveCommandBuffer(CameraEvent.BeforeLighting, m_LegacyCmdBufferBeforeLighting);
                m_Camera.RemoveCommandBuffer(CameraEvent.BeforeImageEffectsOpaque, m_LegacyCmdBufferOpaque);
                m_Camera.RemoveCommandBuffer(CameraEvent.BeforeImageEffects, m_LegacyCmdBuffer);
            }

            temporalAntialiasing.Release();
            m_LogHistogram.Release();

            foreach (var bundle in m_Bundles.Values)
            {
                bundle.Release();
            }

            m_Bundles.Clear();
            m_PropertySheetFactory.Release();

            if (debugLayer != null)
            {
                debugLayer.OnDisable();
            }

            // Might be an issue if several layers are blending in the same frame...
            TextureLerper.instance.Clear();

            haveBundlesBeenInited = false;
        }
コード例 #2
0
        void OnDisable()
        {
            // Have to check for null camera in case the user is doing back'n'forth between SRP and
            // legacy
            if (m_Camera != null)
            {
                if (m_LegacyCmdBufferBeforeReflections != null)
                {
                    m_Camera.RemoveCommandBuffer(CameraEvent.BeforeReflections, m_LegacyCmdBufferBeforeReflections);
                }
                if (m_LegacyCmdBufferBeforeLighting != null)
                {
                    m_Camera.RemoveCommandBuffer(CameraEvent.BeforeLighting, m_LegacyCmdBufferBeforeLighting);
                }
                if (m_LegacyCmdBufferOpaque != null)
                {
                    m_Camera.RemoveCommandBuffer(CameraEvent.BeforeImageEffectsOpaque, m_LegacyCmdBufferOpaque);
                }
                if (m_LegacyCmdBuffer != null)
                {
                    m_Camera.RemoveCommandBuffer(CameraEvent.BeforeImageEffects, m_LegacyCmdBuffer);
                }
            }

            temporalAntialiasing.Release();
            m_LogHistogram.Release();

            foreach (var bundle in m_Bundles.Values)
            {
                bundle.Release();
            }

            m_Bundles.Clear();
            m_PropertySheetFactory.Release();

            if (debugLayer != null)
            {
                debugLayer.OnDisable();
            }

            // Might be an issue if several layers are blending in the same frame...
            TextureLerper.instance.Clear();

            haveBundlesBeenInited = false;
        }
コード例 #3
0
 private void OnDisable()
 {
     if (!RuntimeUtilities.scriptableRenderPipelineActive)
     {
         m_Camera.RemoveCommandBuffer(CameraEvent.BeforeReflections, m_LegacyCmdBufferBeforeReflections);
         m_Camera.RemoveCommandBuffer(CameraEvent.BeforeLighting, m_LegacyCmdBufferBeforeLighting);
         m_Camera.RemoveCommandBuffer(CameraEvent.BeforeImageEffectsOpaque, m_LegacyCmdBufferOpaque);
         m_Camera.RemoveCommandBuffer(CameraEvent.BeforeImageEffects, m_LegacyCmdBuffer);
     }
     temporalAntialiasing.Release();
     m_LogHistogram.Release();
     foreach (PostProcessBundle value in m_Bundles.Values)
     {
         value.Release();
     }
     m_Bundles.Clear();
     m_PropertySheetFactory.Release();
     if (debugLayer != null)
     {
         debugLayer.OnDisable();
     }
     TextureLerper.instance.Clear();
     haveBundlesBeenInited = false;
 }