Geometry Clipmaps: Terrain Rendering Using Nested Regular Grids Frank Losasso Stanford University Frank Losasso Stanford University Hugues Hoppe Microsoft

  • View
    212

  • Download
    0

Embed Size (px)

Text of Geometry Clipmaps: Terrain Rendering Using Nested Regular Grids Frank Losasso Stanford University...

  • Slide 1

Geometry Clipmaps: Terrain Rendering Using Nested Regular Grids Frank Losasso Stanford University Frank Losasso Stanford University Hugues Hoppe Microsoft Research Hugues Hoppe Microsoft Research Slide 2 Terrain Rendering Challenges Concise storage No paging hick-ups Real-Time frame rates 60 fps Visual continuity No temporal pops Concise storage No paging hick-ups Real-Time frame rates 60 fps Visual continuity No temporal pops Mount Rainier Olympic Mountains Primary Dataset: United States at 30m spacing 20 Billion samples Primary Dataset: United States at 30m spacing 20 Billion samples Slide 3 Previous 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 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 Slide 4 Previous 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 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 Slide 5 Geometry Clipmaps Store data in uniform 2D grids Level-of-Detail from nesting of grids Refine based on distance Main Advantages Simplicity Compression Synthesis Store data in uniform 2D grids Level-of-Detail from nesting of grids Refine based on distance Main Advantages Simplicity Compression Synthesis Slide 6 Terrain as a Pyramid Coarsest Level Finest Level Terrain as mipmap pyramid LOD using nested grids Terrain as mipmap pyramid LOD using nested grids Slide 7 Puget Sound Slide 8 Individual Clipmap Levels Uniform 2D grid Indexed triangle strip Efficient caching 60 M triangles/second 255-by-255 grid Expected Soon: Vertex Textures Uniform 2D grid Indexed triangle strip Efficient caching 60 M triangles/second 255-by-255 grid Expected Soon: Vertex Textures Slide 9 Inter-Level Transitions Between respective power-of-2 grids Slide 10 Inter-Level Transitions No transition Geometry transition Geometry & texture transition Gaps in geometry Gaps in texturing/shading Slide 11 Inter-Level Transitions Vertex shader blend geometry Pixel shader blend textures Both are inexpensive Vertex shader blend geometry Pixel shader blend textures Both are inexpensive Slide 12 Clipmap Update For each level Calculate new clipmap region Fill new L-shaped region Use toroidal arrays for efficiency For each level Calculate new clipmap region Fill new L-shaped region Use toroidal arrays for efficiency Slide 13 Clipmap 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 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 Slide 14 Filling New Regions Two Sources: Computed on-demand at 60 frames/second Two Sources: Computed on-demand at 60 frames/second Decompressed explicit terrain Synthesized new terrain Slide 15 Clipmap Update Fine level from coarse level U is a 16 point C 1 smooth interpolant For synthesized terrain, X = Gaussian noise For explicit terrain, X = compression residual Fine level from coarse level U is a 16 point C 1 smooth interpolant For synthesized terrain, X = Gaussian noise For explicit terrain, X = compression residual Slide 16 Terrain Synthesis Adds high frequency detail Upsample then add Gaussian noise Precomputed 50-by-50 noise texture Per-octave amplitude from real terrain Adds high frequency detail Upsample then add Gaussian noise Precomputed 50-by-50 noise texture Per-octave amplitude from real terrain Slide 17 Texture Synthesis Slide 18 Subdivision Interpolant Bilinear Interpolant (C 0 ) 16-point Interpolant (C 1 ) Slide 19 Terrain Compression Create mipmap fine-to-coarse D found from data such that: Create mipmap fine-to-coarse D found from data such that: Slide 20 Terrain Compression Calculate residuals coarse-to-fine Upsample and compute inter-level residual Quantize and compress residual Replace approximation Prevent error accumulation Calculate residuals coarse-to-fine Upsample and compute inter-level residual Quantize and compress residual Replace approximation Prevent error accumulation Slide 21 Compression 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) 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) Slide 22 Compression Results LOD scheme Number of samples Runtime space Bytes per sample Hoppe [98] 8 M50 MB6.0 Lindstrom [02] 256 M5.0 GB19.5 Cignoni et al [02] 64 M115 MB1.8 Geometry Clipmaps 20 G375 MB0.02 Slide 23 Level-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.9 th percentile = 0.90 pixels Analyzed statistically See paper For U.S. terrain (640-by-480 resolution) rms error = 0.15 pixels max error = 12 pixels 99.9 th percentile = 0.90 pixels Slide 24 United States of America Slide 25 Graphics 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 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 Slide 26 Limitations Statistical error analysis Assumes bounded spectral density Unnecessarily many triangles Assumes uniformly detailed terrain but, allows for optimal rendering throughput Statistical error analysis Assumes bounded spectral density Unnecessarily many triangles Assumes uniformly detailed terrain but, allows for optimal rendering throughput Slide 27 Advantages Simplicity Optimal rendering throughput Visual continuity Steady rendering Graceful degradation Compression Synthesis Simplicity Optimal rendering throughput Visual continuity Steady rendering Graceful degradation Compression Synthesis