Title: Geometry Clipmaps: Terrain Rendering Using Nested Regular Grids
1Geometry ClipmapsTerrain Rendering Using Nested
Regular Grids
Frank Losasso Stanford University
Hugues Hoppe Microsoft Research
2Terrain Rendering Challenges
Mount Rainier
Primary Dataset United States at 30m spacing20
Billion samples
Olympic Mountains
- Concise storage ? No paging hick-ups
- Real-Time frame rates ? 60 fps
- Visual continuity ? No temporal pops
3Previous Work
- Irregular Meshes (e.g. Hoppe 98)
- Fewest polygons
- Extremely CPU intensive
- Bin-trees (e.g. Lindstrom et al 96)
- Simpler data structures / algorithms
- Still CPU intensive
- Bin-tree Regions (e.g. Cignoni et al 03)
- Precomputed regions ? Decreased CPU cost
- Temporal continuity difficult
4Previous Work
- Texture Clipmaps Tanner 1998
- Infinitely large textures
- Clipped mipmap hierarchy
- Modeling for the Plausible Emulation of Large
Worlds Dollins 2002 - Quadtree LOD around viewer
- Terrain synthesis
5Geometry Clipmaps
- Store data in uniform 2D grids
- Level-of-Detail from nesting of grids
- Refine based on distance
- Main Advantages
- Simplicity
- Compression
- Synthesis
6Terrain as a Pyramid
- Terrain as mipmap pyramid
- LOD using nested grids
Coarsest Level
Finest Level
7Puget Sound
8Individual Clipmap Levels
- Uniform 2D grid
- Indexed triangle strip
- Efficient caching
- 60 M triangles/second
- 255-by-255 grid
- Expected Soon
- Vertex Textures
9Inter-Level Transitions
- Between respective power-of-2 grids
10Inter-Level Transitions
No transition
Geometry transition
Geometry texture transition
Gaps in geometry
Gaps in texturing/shading
11Inter-Level Transitions
- Vertex shader ? blend geometry
- Pixel shader ? blend textures
- Both are inexpensive
12Clipmap Update
- For each level
- Calculate new clipmap region
- Fill new L-shaped region
- Use toroidal arrays for efficiency
13Clipmap Update
- Update levels coarse-to-fine
- Use limited update budget
- Only render updated data
- Fine levels may be cropped
- Rendering load decreases as update load becomes
to large for the budget
14Filling New Regions
- Two Sources
- Computed on-demand ? at 60 frames/second
Decompressed explicit terrain
Synthesized new terrain
15Clipmap Update
- Fine level from coarse level
- U is a 16 point C1 smooth interpolant
- For synthesized terrain, X Gaussian noise
- For explicit terrain, X compression residual
16Terrain Synthesis
- Adds high frequency detail
- Upsample then add Gaussian noise
- Precomputed 50-by-50 noise texture
- Per-octave amplitude from real terrain
17Texture Synthesis
18Subdivision Interpolant
Bilinear Interpolant (C0)
16-point Interpolant (C1)
19Terrain Compression
- Create mipmap fine-to-coarse
- D found from data such that
20Terrain Compression
- Calculate residuals coarse-to-fine
- Upsample and compute inter-level residual
- Quantize and compress residual
- Replace approximation
- ? Prevent error accumulation
21Compression Results
- U.S height map
- 30m horizontal spacing
- 1m vertical resolution
- 216,000-by-93,600 grid
- 40GB uncompressed
- 350MB compressed ? factor of over 100
- rms error 1.8m (6 of sample spacing)
22Compression Results
LOD scheme Number of samples Runtime space Bytes per sample
Hoppe 98 8 M 50 MB 6.0
Lindstrom 02 256 M 5.0 GB 19.5
Cignoni et al 02 64 M 115 MB 1.8
Geometry Clipmaps 20 G 375 MB 0.02
23Level-of-detail Error
- Analyzed statistically ? See paper
- For U.S. terrain (640-by-480 resolution)
- rms error 0.15 pixels
- max error 12 pixels
- 99.9th percentile 0.90 pixels
24United States of America
25Graphics Hardware Friendly
- Can be implemented in hardware
- Clipmap levels as high-precision textures
- Subdivision and normal calculation Losasso et al
03 - Morphing already done in hardware
- Noise from Noise() or from texture
- Uploaded on-demand
- Decompressed terrain
26Limitations
- Statistical error analysis
- Assumes bounded spectral density
- Unnecessarily many triangles
- Assumes uniformly detailed terrain
- but, allows for optimal rendering throughput
27Advantages
- Simplicity
- Optimal rendering throughput
- Visual continuity
- Steady rendering
- Graceful degradation
- Compression
- Synthesis