/// /// Calculates the number of quad tree nodes needed for this particular terrain /// /// /// /// private uint CalculateNumQuadTreeNodes(uint terrainSize, float blockWidth) { if (blockWidth == 0.0f) return 1; float nodeSize = terrainSize; uint numNodes = 1; while (nodeSize != blockWidth && nodeSize > 0) { nodeSize /= 2; numNodes += (uint)((terrainSize / nodeSize) * (terrainSize / nodeSize)); } return numNodes; }