public void TestGenerateLodTerrainMeshes()
        {
            var tree = new LodOctree();
            var size = 128;
            var root = tree.Create(size, size);

            tree.UpdateQuadtreeClipmaps(root, new Vector3(size / 2, size / 2, size / 2), 8);

            var density = new Func <Vector3, float>(v => DensityHermiteGridTest.SineXzDensityFunction(v, 1 / 5f, size / 2, 3));
            var builder = new LodOctreeMeshBuilder();
            var list    = new List <LodOctreeNode>();

            builder.ListMeshLessNodes(root, list);
            list.ForEach(n =>
            {
                if (n.Children != null)
                {
                    return;
                }
                var mesh = builder.CalculateNodeMesh(n, 8, density);
                n.Mesh   = mesh;   // This is flakey

                builder.CreateRenderElementForNode(n, 8, mesh);
            });

            EngineFactory.CreateEngine().AddSimulator(() => { tree.DrawLines(root, TW.Graphics.LineManager3D); }, "Octreelines");

            VisualTestingEnvironment.Load();
        }
        public void UpdateQuadtreeClipmaps()
        {


            lock (rootNode)
            {
                tree.UpdateQuadtreeClipmaps(rootNode, eyePosition / globalScaling, minNodeSize);
            }
        }