示例#1
0
        /// <summary>
        /// Function to release the shaders and the resources allocated to them.
        /// </summary>
        public void FreeEffects()
        {
            if (_posterizeEffect != null)
            {
                _posterizeEffect.Dispose();
                _posterizeEffect = null;
            }

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

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

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

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

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

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

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

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

            if (_displacementEffect == null)
            {
                return;
            }

            _displacementEffect.Dispose();
            _displacementEffect = null;
        }