Beispiel #1
0
        /// <summary>
        /// Disposes all loaded view resources.
        /// </summary>
        void IRenderLoopHost.OnRenderLoop_DisposeViewResources(EngineDevice engineDevice)
        {
            if (m_d3dImageSource != null)
            {
                this.Source = m_dummyBitmap;

                // Dispose the render target
                m_d3dImageSource.SetRenderTarget(null);
                m_d3dImageSource.Dispose();
                m_d3dImageSource = null;
            }

            // Dispose all other resources
            m_renderTarget2DDxgi = GraphicsHelper.DisposeObject(m_renderTarget2DDxgi);
            m_renderTargetDepth  = GraphicsHelper.DisposeObject(m_renderTargetDepth);
            m_depthBuffer        = GraphicsHelper.DisposeObject(m_depthBuffer);
            m_renderTarget       = GraphicsHelper.DisposeObject(m_renderTarget);
            m_backBufferForWpf   = GraphicsHelper.DisposeObject(m_backBufferForWpf);
            m_backBufferD3D11    = GraphicsHelper.DisposeObject(m_backBufferD3D11);
        }