/// <summary>
        /// Cleans up the memory allocated by the manager.
        /// </summary>
        protected virtual void Dispose(bool disposing)
        {
            if (!disposed)
            {
                disposed = true;
                if (effect != null)
                {
                    effect.Dispose();
                }
                effect = null;

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

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

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

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

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

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

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

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

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