public override void Dispose()
        {
            if (mesh != null && !mesh.Disposed)
            {
                mesh.Dispose();
            }

            DisposeQuadTree(this.quadTree);

            base.Dispose();
        }
        /// <summary>
        /// Provede uklid textur, meshe a bounding boxu
        /// </summary>
        public virtual void Dispose()
        {
            if (normal_textures != null)
            {
                for (int t = 0; t < normal_textures.Length; t++)
                {
                    if (normal_textures[t] != null && !normal_textures[t].Disposed)
                    {
                        normal_textures[t].Dispose();
                    }
                }
            }

            if (color_textures0 != null)
            {
                for (int t = 0; t < color_textures0.Length; t++)
                {
                    if (color_textures0[t] != null && !color_textures0[t].Disposed)
                    {
                        color_textures0[t].Dispose();
                    }
                }
            }

            if (mesh != null && !mesh.Disposed)
            {
                try
                {
                    mesh.Dispose();
                    mesh = null;
                }
                catch { }
            }

            if (boundingSphereMesh != null && !boundingSphereMesh.Disposed)
            {
                boundingSphereMesh.Dispose();
            }

            disposed = true;
        }