Interactive Massive Model Rendering Session 2 Outputsensitive techniques

  • Slides: 46
Download presentation
Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton,

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton, October 2009 CRS 4 Visual Computing Group (www. crs 4. it/vic/) Session 2. Output-sensitive techniques Enrico Gobbetti Fabio Marton CRS 4 Visual Computing Italy

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton,

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton, October 2009 CRS 4 Visual Computing Group (www. crs 4. it/vic/) Goal: interactive inspection of massive models on PC platforms… Massive datasets rendered on a commodity PC

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton,

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton, October 2009 CRS 4 Visual Computing Group (www. crs 4. it/vic/) (Teaser: volume rendering on light field display) 64 GVoxel model volume rendered on a 35 MPixel light field display driven by 36 NVIDIA 8800 GTS 640 MB (G 80 GPU)

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton,

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton, October 2009 Application domains / data sources CRS 4 Visual Computing Group (www. crs 4. it/vic/) Local Terrain Models 2. 5 D – Flat – Dense regular sampling Planetary terrain models 2. 5 D – Spherical – Dense regular sampling Laser scanned models 3 D – Moderately simple topology – low depth complexity - dense CAD models 3 D – complex topology – high depth complexity – structured - ‘ugly’ mesh Natural objects / Simulation results 3 D – complex topology + high depth complexity + unstructured/high frequency details • Many important application domains • Today’s models easily exceed – O(108 -1010) samples – O(109 -1011) bytes • Varying – Dimensionality – Topology – Sampling distribution See also: Vis Panel -- Thursday 4: 15 PM-5: 55 PM Challenges in Large Data Visualization: A Visualization Community Call to Action

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton,

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton, October 2009 CRS 4 Visual Computing Group (www. crs 4. it/vic/) Powerful Hardware: a Solution? • Good news… – HW is fast and continuously increasing in performance… • … but HW excels at parallel computational tasks with good memory locality – Memory gap – Performance speed due to parallelism • Must transform problems into forms well suited for current and future HW – Memory efficient! – Parallel! GT 200 Intel Harpertown 3. 2 GHz CPU: +60%/yr DRAM: +7%/yr

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton,

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton, October 2009 CRS 4 Visual Computing Group (www. crs 4. it/vic/) Brute force not a solution. Be Smart!

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton,

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton, October 2009 CRS 4 Visual Computing Group (www. crs 4. it/vic/) Actually, smart use of brute force! See also: Vis Panel -- Thursday 10: 30 AM-12: 10 PM The Impact of Future Hardware on Visualization

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton,

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton, October 2009 A real-time data filtering problem! • Models of unbounded complexity on limited computers – Need for output-sensitive techniques (O(N), not O(K)) CRS 4 Visual Computing Group (www. crs 4. it/vic/) • We assume less data on screen (N) than in model (K ) – Need for memory-efficient techniques (minimize transfers!) – Need for parallel techniques (maximize CPU/GPU core usage) Storage I/O View parameters Screen Small Projection + Visibility. Set + Shading Working Limited bandwidth (network/disk/RAM/CPU/PCIe/GPU/…) O(K=unbounded) bytes (triangles, points, …) 10 -100 Hz O(N=1 M-100 M) pixels

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton,

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton, October 2009 Main ingredients • Preprocessing vs. Run-time CRS 4 Visual Computing Group (www. crs 4. it/vic/) – Preprocessing builds data structure, run-time traverses it • Visibility culling – Preprocessing + run-time – Typically requires spatial partition structure • Detail culling – Prefiltering, requires multi-resolution structure • Out-of-core data management – Also: layout optimization • Parallelization – Implicit/explicit • . . .

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton,

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton, October 2009 CRS 4 Visual Computing Group (www. crs 4. it/vic/) Two main rendering techniques • Rasterization + Z-buffering (GPU) – Start from model • Ray-tracing (CPU/RPU/GPU) – Start from screen • For large models, methods share many common points – Similar hierarchical structures – Need for approximate representations to build multiresolution hierarchies – Similar memory management subsystem, typically exploiting spatial/temporal coherence • Hybrid solutions more and more common

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton,

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton, October 2009 Our contributions GPU-friendly output-sensitive techniques • Underlying ideas CRS 4 Visual Computing Group (www. crs 4. it/vic/) – Chunk-based multiresolution structures • Combine space partitioning + level of detail • Same structure used for visibility and detail culling – Seamless combination of chunks • Dependencies ensure consistency at the level of chunks Partitioning and simplification Network / Bus Off-line On-line – Complex rendering primitives • GPU programming features • Curvilinear patches, viewdependent voxels, … – Chunk-based external memory management • Compression/decompression, block transfers, caching Adaptive rendering Multiresolution structure (data+dependency) Cache GPU

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton,

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton, October 2009 Our contributions GPU-friendly output-sensitive techniques *-BDAM – Local and Global Terrain Models Gobbetti/Marton (CRS 4), Cignoni/Ganovelli/Ponchio/Scopigno (CNR) CRS 4 Visual Computing Group (www. crs 4. it/vic/) EG 2003, IEEE Viz 2003, EG 2005 Adaptive Tetrapuzzles – Dense meshes Gobbetti/Marton (CRS 4), Cignoni/Ganovelli/Ponchio/Scopigno (CNR) SIGGRAPH 2004 Layered Point Clouds – Dense clouds Gobbetti/Marton (CRS 4) SPBG 2004 / Computers & Graphics 2004 Far Voxels – General Gobbetti/Marton (CRS 4) SIGGRAPH 2005 Blockmaps – Hybrid volumetric city model Gobbetti/Marton (CRS 4), Cignoni/Ganovelli/Di Benedetto/Scopigno (CNR) EG 2007 MOVR – Volumetric models Gobbetti/Marton/Iglesias Guitian (CRS 4) CGI 2008

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton,

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton, October 2009 Our contributions GPU-friendly output-sensitive techniques *-BDAM – Local and Global Terrain Models Gobbetti/Marton (CRS 4), Cignoni/Ganovelli/Ponchio/Scopigno (CNR) EG 2003, IEEE Viz 2003, EG 2005 CRS 4 Visual Computing Group (www. crs 4. it/vic/) RASTERIZATION Adaptive Tetrapuzzles – Dense meshes Gobbetti/Marton (CRS 4), Cignoni/Ganovelli/Ponchio/Scopigno (CNR) SIGGRAPH 2004 Layered Point Clouds – Dense clouds Gobbetti/Marton (CRS 4) SPBG 2004 / Computers & Graphics 2004 Far Voxels – General Gobbetti/Marton (CRS 4) SIGGRAPH 2005 Blockmaps – Hybrid volumetric city model Gobbetti/Marton (CRS 4), Cignoni/Ganovelli/Di Benedetto/Scopigno (CNR) EG 2007 MOVR – Volumetric models Gobbetti/Marton/Iglesias Guitian (CRS 4) CGI 2008 RAYCASTING

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton,

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton, October 2009 Our contributions GPU-friendly output-sensitive techniques *-BDAM – Local and Global Terrain Models Gobbetti/Marton (CRS 4), Cignoni/Ganovelli/Ponchio/Scopigno (CNR) EG 2003, IEEE Viz 2003, EG 2005 CRS 4 Visual Computing Group (www. crs 4. it/vic/) RASTERIZATION Adaptive Tetrapuzzles – Dense meshes Gobbetti/Marton (CRS 4), Cignoni/Ganovelli/Ponchio/Scopigno (CNR) SIGGRAPH 2004 Layered Point Clouds – Dense clouds Gobbetti/Marton (CRS 4) SPBG 2004 / Computers & Graphics 2004 Far Voxels – General Gobbetti/Marton (CRS 4) SIGGRAPH 2005 Blockmaps – Hybrid volumetric city model HYBRID Gobbetti/Marton (CRS 4), Cignoni/Ganovelli/Di Benedetto/Scopigno (CNR) EG 2007 MOVR – Volumetric models Gobbetti/Marton/Iglesias Guitian (CRS 4) CGI 2008 RAYCASTING

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton,

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton, October 2009 Our contributions GPU-friendly output-sensitive techniques *-BDAM – Local and Global Terrain Models Gobbetti/Marton (CRS 4), Cignoni/Ganovelli/Ponchio/Scopigno (CNR) EG 2003, IEEE Viz 2003, EG 2005 CRS 4 Visual Computing Group (www. crs 4. it/vic/) MESH-BASED FRAMEWORK Adaptive Tetrapuzzles – Dense meshes Gobbetti/Marton (CRS 4), Cignoni/Ganovelli/Ponchio/Scopigno (CNR) SIGGRAPH 2004 Layered Point Clouds – Dense clouds Gobbetti/Marton (CRS 4) SPBG 2004 / Computers & Graphics 2004 Far Voxels – General Gobbetti/Marton (CRS 4) SIGGRAPH 2005 Blockmaps – Hybrid volumetric city model Gobbetti/Marton (CRS 4), Cignoni/Ganovelli/Di Benedetto/Scopigno (CNR) EG 2007 MOVR – Volumetric models Gobbetti/Marton/Iglesias Guitian (CRS 4) CGI 2008 MESH-LESS FRAMEWORK

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton,

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton, October 2009 Our contributions GPU-friendly output-sensitive techniques *-BDAM – Local and Global Terrain Models Specialize CRS 4 Visual Computing Group (www. crs 4. it/vic/) Gobbetti/Marton (CRS 4), Cignoni/Ganovelli/Ponchio/Scopigno (CNR) EG 2003, IEEE Viz 2003, EG 2005 Chunked Multi. Triangulations Adaptive Tetrapuzzles – Dense meshes Gobbetti/Marton (CRS 4), Cignoni/ Ganovelli/Ponchio/Scopigno Gobbetti/Marton (CRS 4), Cignoni/Ganovelli/Ponchio/Scopigno (CNR) SIGGRAPH 2004 Layered Point Clouds – Dense clouds Gobbetti/Marton (CRS 4) (CNR) IEEE Viz 2005 Generalize SPBG 2004 / Computers & Graphics 2004 Far Voxels – General Specialize Gobbetti/Marton (CRS 4) SIGGRAPH 2005 Blockmaps – Hybrid volumetric city model Gobbetti/Marton (CRS 4), Cignoni/Ganovelli/Di Benedetto/Scopigno (CNR) EG 2007 MOVR – Volumetric models View-dep. Volumetric Model In progress Gobbetti/Marton/Iglesias Guitian (CRS 4) CGI 2008 Generalize

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton,

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton, October 2009 Our contributions GPU-friendly output-sensitive techniques *-BDAM – Local and Global Terrain Models Specialize CRS 4 Visual Computing Group (www. crs 4. it/vic/) Gobbetti/Marton (CRS 4), Cignoni/Ganovelli/Ponchio/Scopigno (CNR) EG 2003, IEEE Viz 2003, EG 2005 Chunked Multi. Triangulations Adaptive Tetrapuzzles – Dense meshes Gobbetti/Marton (CRS 4), Cignoni/ Ganovelli/Ponchio/Scopigno Gobbetti/Marton (CRS 4), Cignoni/Ganovelli/Ponchio/Scopigno (CNR) SIGGRAPH 2004 Layered Point Clouds – Dense clouds Gobbetti/Marton (CRS 4) (CNR) IEEE Viz 2005 Generalize SPBG 2004 / Computers & Graphics 2004 Far Voxels – General Specialize Gobbetti/Marton (CRS 4) SIGGRAPH 2005 Blockmaps – Hybrid volumetric city model Gobbetti/Marton (CRS 4), Cignoni/Ganovelli/Di Benedetto/Scopigno (CNR) EG 2007 MOVR – Volumetric models View-dep. Volumetric Model In progress Gobbetti/Marton/Iglesias Guitian (CRS 4) CGI 2008 Generalize

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton,

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton, October 2009 Real-time adaptive meshes • CRS 4 Visual Computing Group (www. crs 4. it/vic/) • The problem: efficiently create view -dependent meshes Constraints: – must approximate original surface with controlled screenspace error – must preserve continuity (conforming meshes) – must handle meshes of varying topology – must be efficiently rendered

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton,

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton, October 2009 Chunked Multi Triangulations CRS 4 Visual Computing Group (www. crs 4. it/vic/) The Multi Triangulation Framework • Consider a sequence of local modifications over a given description D – Each modification replaces a portion of the domain with a different conforming portion (simplified) – f 1 floor – g 1 the new fragment D’=D f g Di+1=Di gi+1

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton,

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton, October 2009 Chunked Multi Triangulations CRS 4 Visual Computing Group (www. crs 4. it/vic/) The Multi Triangulation Framework • Dependencies between modifications can be arranged in a DAG – Adding a sink to the DAG we can associate each fragment to an arc leaving a node

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton,

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton, October 2009 Chunked Multi Triangulations MT Cuts • A cut of the DAG defines a new representation CRS 4 Visual Computing Group (www. crs 4. it/vic/) – Collect all the fragment floors of cut arcs and you get a new conforming mesh D*=D 0 g 1 g 4 = f 02 f 03 f 1 f 4

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton,

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton, October 2009 Chunked Multi Triangulations GPU Friendly MT CRS 4 Visual Computing Group (www. crs 4. it/vic/) • Chunked MT assume fragment floors are triangle patches with proper boundary constraints – – – DAG << original mesh (patches composed by thousands of tri) Structure memory + traversal overhead amortized over thousands of triangles Per-patch optimizations D*=D 0 g 1 g 4 = f 02 f 03 f 1 f 4

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton,

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton, October 2009 Chunked Multi Triangulations GPU Friendly MT CRS 4 Visual Computing Group (www. crs 4. it/vic/) • Construction – Start with hires triangle soup – Partition model using a hierarchical space partitioning scheme – Construct non-leaf cells by bottomup recombination and simplification of lower level cells – Assign model space errors and bounding volumes to cells Par titio nin g Con s Chu traine d nk erro simpl ifica r co ti mp uta on + tion • Rendering – Refine conformal hierarchy, render selected precomputed cells – Project errors to screen – Dual queue + visibility feedback Adaptive rendering On-line Cache GPU

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton,

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton, October 2009 Chunked Multi Triangulations DAG problems • Not all MTs are good MTs! CRS 4 Visual Computing Group (www. crs 4. it/vic/) – The topology of dependencies may lower the adaptivity of the multiresolution structure • Cascading dependencies are BAD!!! – The geometry of DAG regions may cause problems in view-dependent rendering • Compact (close-to-spherical) regions for good constant error bounds • Long+thin regions are BAD! • Proposed solutions: – SIGGRAPH 2004: Efficient constrained technique (Tetra. Puzzles) – IEEE Viz 2005: General construction technique (V-Partition) – … see also QVDR, IEEE Viz 2004 and other related work…

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton,

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton, October 2009 Adaptive Tetra. Puzzles CRS 4 Visual Computing Group (www. crs 4. it/vic/) Overview View dependent mesh refinement • Construction – Start with hires triangle soup – Partition model using a conformal hierarchy of tetrahedra – Construct non-leaf cells by bottom-up recombination and simplification of lower level cells • Rendering – Refine conformal hierarchy, render selected precomputed cells

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton,

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton, October 2009 Adaptive Tetra. Puzzles Results CRS 4 Visual Computing Group (www. crs 4. it/vic/) Michelangelo’s St. Matthew Source: Digital Michelangelo Project Data: 374 M triangles Intel Xeon 2. 4 GHz 1 GB Ge. Force FX 5800 U AGP 8 X

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton,

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton, October 2009 CRS 4 Visual Computing Group (www. crs 4. it/vic/) Advantages of mesh-based multiresolution models • First GPU bound methods for very large meshes – Adaptive conforming meshes • Reduced overdraw – Extensive optimization • Stripification, cache coherence, compression, … – State of the art performance • GPU bound, >4 Mtri/frame at >30 fps on modern GPUs • Extremely high quality for large dense models with “well behaved” surface

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton,

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton, October 2009 CRS 4 Visual Computing Group (www. crs 4. it/vic/) Limitations of mesh-based multiresolution models • Visibility and multiresolution solved as separate problems – Error measured on boundary surfaces – LOD construction based on local surface coarsening/simplification operations – LOD construction unaware of visibility (viewindependent approximations) • Hard to apply to models with high detail and complex topology and high depth complexity!

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton,

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton, October 2009 CRS 4 Visual Computing Group (www. crs 4. it/vic/) Overcoming limitations of local mesh refinement techniques • Tight integration of visibility and LOD construction – Multi-scale modeling of appearance rather than geometry – Volume-based (or image based) rather than surfacebased

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton,

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton, October 2009 Our contributions GPU-friendly output-sensitive techniques *-BDAM – Local and Global Terrain Models Specialize CRS 4 Visual Computing Group (www. crs 4. it/vic/) Gobbetti/Marton (CRS 4), Cignoni/Ganovelli/Ponchio/Scopigno (CNR) EG 2003, IEEE Viz 2003, EG 2005 Chunked Multi. Triangulations Adaptive Tetrapuzzles – Dense meshes Gobbetti/Marton (CRS 4), Cignoni/ Ganovelli/Ponchio/Scopigno Gobbetti/Marton (CRS 4), Cignoni/Ganovelli/Ponchio/Scopigno (CNR) SIGGRAPH 2004 Layered Point Clouds – Dense clouds Gobbetti/Marton (CRS 4) (CNR) IEEE Viz 2005 Generalize SPBG 2004 / Computers & Graphics 2004 Far Voxels – General Specialize Gobbetti/Marton (CRS 4) SIGGRAPH 2005 Blockmaps – Hybrid volumetric city model Gobbetti/Marton (CRS 4), Cignoni/Ganovelli/Di Benedetto/Scopigno (CNR) EG 2007 MOVR – Volumetric models View-dep. Volumetric Model In progress Gobbetti/Marton/Iglesias Guitian (CRS 4) CGI 2008 Generalize

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton,

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton, October 2009 Far Voxels CRS 4 Visual Computing Group (www. crs 4. it/vic/) The Far Voxel Concept • Assumption: opaque surfaces, non participating medium • Goal is to represent the appearance of complex far geometry – Near geometry can be represented at full resolution • Idea is to discretize a model into many small volumes located in the neighborood of surfaces – Approximates how a small subvolume of the model reflects the incoming light => View-dependent cubical voxel

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton,

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton, October 2009 Far Voxels CRS 4 Visual Computing Group (www. crs 4. it/vic/) The Far Voxel Concept • Assumption: opaque surfaces, non participating medium • Goal is to represent the appearance of complex far geometry – Near geometry can be represented at full resolution • Idea is to discretize a model into many small volumes located in the neighborhood of surfaces – Approximates how a small subvolume of the model reflects the incoming light => View-dependent voxel

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton,

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton, October 2009 Far Voxels CRS 4 Visual Computing Group (www. crs 4. it/vic/) Construction overview

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton,

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton, October 2009 Far Voxels CRS 4 Visual Computing Group (www. crs 4. it/vic/) Construction overview

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton,

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton, October 2009 Far Voxels Construction overview: Far Voxel CRS 4 Visual Computing Group (www. crs 4. it/vic/) • Consider voxel subvolume • Samples gathered from unoccluded directions – Sample: • (BRDF, n) = f(view direction) • Compress shading information by fitting samples to a compact analytical representation

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton,

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton, October 2009 Far Voxels • Build all the K different far voxels representations – K = flat, smooth. . – Principal component analysis • Evaluate each representation error – Compare real values (samples) with the voxel approximations from the sample direction Err(k) = • Choose approximation with lowest error Flat proxy: 2 components Smooth proxy: 6 components … CRS 4 Visual Computing Group (www. crs 4. it/vic/) Construction overview: Far Voxel Shaders Others…

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton,

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton, October 2009 Far Voxels CRS 4 Visual Computing Group (www. crs 4. it/vic/) Rendering (rasterization version) • Hierarchical traversal with coherent culling – Stop when out-of view, occluded (GPU feedback), or accurate enough • Leaf node: Triangle rendering – Draw the precomputed triangle strip • Inner node: Voxel rendering – For each far voxel type • Enable its shader • Draw all its view dependent primitives using gl. Draw. Arrays – Splat voxels as antialiased point primitives – Limits • Does not consider primitive opacity • Rendering quality similar to one-pass point splat methods (no sorting/blending) Triangles Far Voxels

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton,

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton, October 2009 Far Voxels CRS 4 Visual Computing Group (www. crs 4. it/vic/) Conclusions • General purpose technique that targets many model kinds – Seamless integration of • multiresolution • occlusion culling • out-of-core data management – High performance – Scalability • Main limitations – Slow preprocessing – Non-photorealistic rendering quality Intel Xeon 2. 4 GHz 1 GB, Ge. Force 6800 GT AGP 8 X

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton,

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton, October 2009 Our contributions GPU-friendly output-sensitive techniques *-BDAM – Local and Global Terrain Models Specialize CRS 4 Visual Computing Group (www. crs 4. it/vic/) Gobbetti/Marton (CRS 4), Cignoni/Ganovelli/Ponchio/Scopigno (CNR) EG 2003, IEEE Viz 2003, EG 2005 Chunked Multi. Triangulations Adaptive Tetrapuzzles – Dense meshes Gobbetti/Marton (CRS 4), Cignoni/ Ganovelli/Ponchio/Scopigno Gobbetti/Marton (CRS 4), Cignoni/Ganovelli/Ponchio/Scopigno (CNR) SIGGRAPH 2004 Layered Point Clouds – Dense clouds Gobbetti/Marton (CRS 4) (CNR) IEEE Viz 2005 Generalize SPBG 2004 / Computers & Graphics 2004 Far Voxels – General Specialize Gobbetti/Marton (CRS 4) SIGGRAPH 2005 Blockmaps – Hybrid volumetric city model Gobbetti/Marton (CRS 4), Cignoni/Ganovelli/Di Benedetto/Scopigno (CNR) EG 2007 MOVR – Volumetric models View-dep. Volumetric Model In progress Gobbetti/Marton/Iglesias Guitian (CRS 4) CGI 2008 Generalize

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton,

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton, October 2009 CRS 4 Visual Computing Group (www. crs 4. it/vic/) MOVR: Massive Volumetric Datasets • Main idea: Decouple level-ofdetail selection from rendering process – CPU: Select level of detail, load data from out-of-core, and build a spatial index limited to current working set – GPU: Traverse current spatial index using specialized raycaster • Visibility feedback from GPU exploited by CPU to reduce working set size creation and maintenance preprocessing rendering adaptive loader volume render storage octree node database Enrico Gobbetti, Fabio Marton, and José Antonio Iglesias Guitián. A single-pass GPU ray casting framework for interactive out-of-core rendering of massive volumetric datasets. The Visual Computer, 24, 2008. Proc. CGI 2008. working set CPU visibility feedback GPU See also: Crassin et al. , Giga. Voxels: Ray-Guided Streaming for Efficient and Detailed Voxel Rendering, Proc. I 3 D 2009.

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton,

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton, October 2009 CRS 4 Visual Computing Group (www. crs 4. it/vic/) GPU ray casting with fragment shader • For each fragment/ray • Stackless traversal method uses spatial index to move across nodes intersected by ray – Identify first intersected node – Move to adjacent nodes through rope pointers • For each node – Skip if empty, else – Accumulate shading information from node data present in texture memory cache with standard DVR • Iterate until ray exits from cube, or max opacity reached • Stackless approach is extremely efficient on GPUs

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton,

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton, October 2009 Our contributions CRS 4 Visual Computing Group (www. crs 4. it/vic/) MOVR – Massive volumetric datasets Xeon 2. 4 GHz / 2 GB RAM / SATA 2 Disk / NVIDIA 8800 GTX Ultra 768 MB 2 GVoxels: 12 GB uncompressed raw data (16 bit/voxel + 32 bit gradients)

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton,

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton, October 2009 Our contributions GPU-friendly output-sensitive techniques *-BDAM – Local and Global Terrain Models Specialize CRS 4 Visual Computing Group (www. crs 4. it/vic/) Gobbetti/Marton (CRS 4), Cignoni/Ganovelli/Ponchio/Scopigno (CNR) EG 2003, IEEE Viz 2003, EG 2005 Chunked Multi. Triangulations Adaptive Tetrapuzzles – Dense meshes Gobbetti/Marton (CRS 4), Cignoni/ Ganovelli/Ponchio/Scopigno Gobbetti/Marton (CRS 4), Cignoni/Ganovelli/Ponchio/Scopigno (CNR) SIGGRAPH 2004 Layered Point Clouds – Dense clouds Gobbetti/Marton (CRS 4) (CNR) IEEE Viz 2005 Generalize SPBG 2004 / Computers & Graphics 2004 Far Voxels – General Specialize Gobbetti/Marton (CRS 4) SIGGRAPH 2005 Blockmaps – Hybrid volumetric city model Gobbetti/Marton (CRS 4), Cignoni/Ganovelli/Di Benedetto/Scopigno (CNR) EG 2007 MOVR – Volumetric models View-dep. Volumetric Model In progress Gobbetti/Marton/Iglesias Guitian (CRS 4) CGI 2008 Generalize

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton,

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton, October 2009 Our contributions CRS 4 Visual Computing Group (www. crs 4. it/vic/) Blockmaps – Massive urban models • Handles massive textured cities – Exploits structure of urban data – Out-of-core preprocessing and rendering – Multiresolution structure based on compact representation of city blocks • Height-field-like, tuned for raycasting – Hybrid rendering • Rasterization+Raytracing • Visibility culling Cignoni, Di Benedetto, Ganovelli, Gobbetti, Marton, and Scopigno. Ray-Casted Block. Maps for Large Urban Models Visualization. Computer Graphics Forum, 26(3): 405 -413, September 2007. Proc. Eurographics 2007.

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton,

Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton, October 2009 Our contributions CRS 4 Visual Computing Group (www. crs 4. it/vic/) Blockmaps – Massive urban models Rendering of textured 60 GB model of Paris on a PC with NVIDIA 8800 GTX

CRS 4 Visual Computing Group (www. crs 4. it/vic/) Interactive Massive Model Rendering –

CRS 4 Visual Computing Group (www. crs 4. it/vic/) Interactive Massive Model Rendering – Session 2. Output-sensitive techniques Enrico Gobbetti and Fabio Marton, October 2009 IEEE Vis. Week Tutorial: Interactive Massive Model Rendering Next session: Hybrid Rendering – Christian Lauterbach Dinesh Manocha UNC