/// <summary>
        /// Fully build a terrain node - used for root nodes
        /// </summary>
        /// <param name="item">Contains data to manage building the node</param>
        public static void BuildNode(TerrainNodeSplitItem item)
        {
            //// preserve current depth buffer and detach it from the device
              //DepthStencilBuffer previousDepth = game.GraphicsDevice.DepthStencilBuffer;
              //game.GraphicsDevice.DepthStencilBuffer = null;

              ///// geometry map /////
              GenerateGeometryMap(item);
              item.GeometrySurface.ResolveHeightData();
              item.CopyHeightData(ref item.GeometrySurface.HeightData);

              if (!item.IsSphere)
              {
            ///// height map /////
            GenerateHeightmap(item);

            ///// normal texture /////
            GenerateNormalTexture(item);

            ///// diffuse texture /////
            GenerateDiffuseTexture(item);
              }

              //// re-attach the normal depth buffer
              //game.GraphicsDevice.DepthStencilBuffer = previousDepth;
        }