Commit d815b4d
committed
Rewrite LODSphereMesh as adaptive chunked-LOD single-draw renderer
Port the cube-sphere adaptive LOD and single-draw-call batching into the
lat/long LODSphereMesh, adapting the cube blueprint to a single
equirectangular (longitude, latitude) parameterization:
- Quadtree roots at 2 longitude cells x 1 latitude cell; screen-space
sagitta error drives splitting, with 2:1 balance and one-level stitch
templates sealing LOD seams in a single batched draw per texID group.
- Longitude edges wrap across the meridian seam; pole edges have no
neighbour and are left unstitched (each pole is a single point, the
collapsed triangles are degenerate and harmless).
- resolveTile reproduces the legacy renderSection texcoord transform, so
leaves map directly onto VirtualTexture tiles without a new texture type.
- render() takes eyePos, pixelSize, enableHorizonCull and geometryScale;
cull bounds and the LOD metric are scaled by geometryScale so the cloud
and atmosphere shells (scaled in the modelview) are not over-culled.
- Optional macro-gated wireframe mode mirroring the cube-sphere renderer.
Plumb pixelSize through RenderInfo and update the surface, cloud and
atmosphere call sites to the new signature.1 parent 329e03a commit d815b4d
6 files changed
Lines changed: 874 additions & 673 deletions
File tree
- src
- celengine
- celrender
0 commit comments