コード例 #1
0
ファイル: VolumeRenderer.cs プロジェクト: ishkang/Gorgon
        /// <summary>Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.</summary>
        public void Dispose()
        {
            for (int i = 0; i < _volumeRtSections.Length; ++i)
            {
                _volumeSections[i]?.Dispose();
                _volumeRtSections[i]?.Dispose();
            }
            _textureView = null;

            _cube?.Dispose();
            _volumeScaleFactor?.Dispose();
            _volumeRayParams?.Dispose();
            _cubeTransform?.Dispose();
            _cubePosShader?.Dispose();
            _cubeDirShader?.Dispose();
            _cubeVs?.Dispose();
            _inputLayout?.Dispose();

            _cubeTransform     = null;
            _inputLayout       = null;
            _cube              = null;
            _volumeScaleFactor = null;
            _volumeRayParams   = null;
            _cubePosShader     = null;
            _cubeDirShader     = null;
            _cubeVs            = null;
        }
コード例 #2
0
        /// <summary>
        /// Releases unmanaged and - optionally - managed resources
        /// </summary>
        /// <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
        protected override void Dispose(bool disposing)
        {
            if (!_disposed)
            {
                if (disposing)
                {
                    if (Passes[0].PixelShader != null)
                    {
                        Passes[0].PixelShader.Dispose();
                    }

                    Passes[0].PixelShader = null;

                    if (_1BitBuffer != null)
                    {
                        _1BitBuffer.Dispose();
                        _1BitBuffer = null;
                    }
                }

                _disposed = true;
            }

            base.Dispose(disposing);
        }
コード例 #3
0
        /// <summary>
        /// Releases unmanaged and - optionally - managed resources
        /// </summary>
        /// <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
        protected override void Dispose(bool disposing)
        {
            if (!_disposed)
            {
                if (disposing)
                {
                    if (_embossShader != null)
                    {
                        _embossShader.Dispose();
                    }

                    if (_sharpenShader != null)
                    {
                        _sharpenShader.Dispose();
                    }

                    if (_sharpenEmbossBuffer != null)
                    {
                        _sharpenEmbossBuffer.Dispose();
                    }
                }

                _embossShader  = null;
                _sharpenShader = null;
                _disposed      = true;
            }

            base.Dispose(disposing);
        }
コード例 #4
0
        /// <summary>
        /// Releases unmanaged and - optionally - managed resources
        /// </summary>
        /// <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
        protected override void Dispose(bool disposing)
        {
            if (!_disposed)
            {
                if (disposing)
                {
                    if (Passes[1].PixelShader != null)
                    {
                        Passes[1].PixelShader.Dispose();
                    }

                    if (_displacementBuffer != null)
                    {
                        _displacementBuffer.Dispose();
                    }

                    FreeResources();
                }

                _displacementBuffer   = null;
                Passes[1].PixelShader = null;
                _disposed             = true;
            }

            base.Dispose(disposing);
        }
コード例 #5
0
        /// <summary>
        /// Releases unmanaged and - optionally - managed resources.
        /// </summary>
        /// <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
        private void Dispose(bool disposing)
        {
            if (_disposed)
            {
                return;
            }

            if (disposing)
            {
                if (_cameraBuffer != null)
                {
                    _cameraBuffer.Dispose();
                }

                if (_worldBuffer != null)
                {
                    _worldBuffer.Dispose();
                }

                if (_projViewBuffer != null)
                {
                    _projViewBuffer.Dispose();
                }
            }

            _disposed = true;
        }
コード例 #6
0
        /// <summary>
        /// Releases unmanaged and - optionally - managed resources
        /// </summary>
        /// <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
        protected override void Dispose(bool disposing)
        {
            if (!_disposed)
            {
                if (disposing)
                {
                    if (_blurStaticBuffer != null)
                    {
                        _blurStaticBuffer.Dispose();
                    }
                    if (_blurBuffer != null)
                    {
                        _blurBuffer.Dispose();
                    }
                    if (_blurKernelStream != null)
                    {
                        _blurKernelStream.Dispose();
                    }
                    if (Passes[0].PixelShader != null)
                    {
                        Passes[0].PixelShader.Dispose();
                    }

                    FreeResources();
                }

                Passes[0].PixelShader = null;
                _disposed             = true;
            }

            base.Dispose(disposing);
        }
コード例 #7
0
        /// <summary>
        /// Releases unmanaged and - optionally - managed resources
        /// </summary>
        /// <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
        protected override void Dispose(bool disposing)
        {
            if (!_disposed)
            {
                if (disposing)
                {
                    if (_linearDodgeBurn != null)
                    {
                        _linearDodgeBurn.Dispose();
                    }

                    if (_dodgeBurn != null)
                    {
                        _dodgeBurn.Dispose();
                    }

                    if (_burnDodgeBuffer != null)
                    {
                        _burnDodgeBuffer.Dispose();
                    }
                }

                _burnDodgeBuffer = null;
                _linearDodgeBurn = null;
                _dodgeBurn       = null;

                _disposed = true;
            }

            base.Dispose(disposing);
        }
コード例 #8
0
        /// <summary>
        /// Releases unmanaged and - optionally - managed resources.
        /// </summary>
        /// <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
        private void Dispose(bool disposing)
        {
            if (_disposed)
            {
                return;
            }

            if (disposing)
            {
                if (_lightStore != null)
                {
                    _lightStore.Dispose();
                }

                if (_buffer != null)
                {
                    _buffer.Dispose();
                }
            }

            _disposed = true;
        }
コード例 #9
0
        /// <summary>
        /// Releases unmanaged and - optionally - managed resources
        /// </summary>
        /// <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
        protected override void Dispose(bool disposing)
        {
            if (!_disposed)
            {
                if (disposing)
                {
                    if (_posterizeBuffer != null)
                    {
                        _posterizeBuffer.Dispose();
                    }

                    if (Passes[0].PixelShader != null)
                    {
                        Passes[0].PixelShader.Dispose();
                    }
                }

                Passes[0].PixelShader = null;
                _disposed             = true;
            }

            base.Dispose(disposing);
        }
コード例 #10
0
        /// <summary>
        /// Releases unmanaged and - optionally - managed resources.
        /// </summary>
        /// <param name="disposing"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
        protected override void Dispose(bool disposing)
        {
            if (!_disposed)
            {
                if (disposing)
                {
                    FreeResources();

                    if (Passes[0].PixelShader != null)
                    {
                        Passes[0].PixelShader.Dispose();
                        Passes[0].PixelShader = null;
                    }

                    if (_timingBuffer != null)
                    {
                        _timingBuffer.Dispose();
                        _timingBuffer = null;
                    }

                    if (_scratchBuffer != null)
                    {
                        _scratchBuffer.Dispose();
                        _scratchBuffer = null;
                    }

                    if (_sepiaBuffer != null)
                    {
                        _sepiaBuffer.Dispose();
                        _sepiaBuffer = null;
                    }
                }

                _disposed = true;
            }
            base.Dispose(disposing);
        }
コード例 #11
0
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            try
            {
                Initialize();

                Gorgon.Run(_form, Idle);
            }
            catch (Exception ex)
            {
                GorgonException.Catch(ex, () => GorgonDialogs.ErrorBox(null, ex));
            }
            finally
            {
                if (_materialBuffer != null)
                {
                    _materialBuffer.Dispose();
                }

                if (_normalEarfMap != null)
                {
                    _normalEarfMap.Dispose();
                }

                if (_normalMap != null)
                {
                    _normalMap.Dispose();
                }

                if (_specEarfMap != null)
                {
                    _specEarfMap.Dispose();
                }

                if (_specMap != null)
                {
                    _specMap.Dispose();
                }

                if (_cloudMap != null)
                {
                    _cloudMap.Dispose();
                }

                if (_clouds != null)
                {
                    _clouds.Dispose();
                }

                if (_sphere != null)
                {
                    _sphere.Dispose();
                }

                if (_light != null)
                {
                    _light.Dispose();
                }

                if (_cube != null)
                {
                    _cube.Dispose();
                }

                if (_plane != null)
                {
                    _plane.Dispose();
                }

                if (_triangle != null)
                {
                    _triangle.Dispose();
                }

                if (_wvp != null)
                {
                    _wvp.Dispose();
                }

                if (_renderer2D != null)
                {
                    _renderer2D.Dispose();
                }

                if (_swapChain != null)
                {
                    _swapChain.Dispose();
                }

                if (_graphics != null)
                {
                    _graphics.Dispose();
                }
            }
        }
コード例 #12
0
ファイル: Sobel.cs プロジェクト: ishkang/Gorgon
 /// <summary>
 /// Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
 /// </summary>
 public void Dispose() => _sobelData?.Dispose();