1 / 46

Session 2. Output-sensitive techniques

This session explores output-sensitive techniques for the interactive inspection of massive models on PC platforms. It covers various application domains and data sources, challenges in large data visualization, and the impact of future hardware on visualization. The session also discusses GPU-friendly techniques, such as chunk-based multiresolution structures and adaptive rendering, that enable efficient and parallel processing of large models.

dsteel
Download Presentation

Session 2. Output-sensitive techniques

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Session 2. Output-sensitive techniques Enrico Gobbetti Fabio Marton CRS4 Visual Computing Italy

  2. Goal: interactive inspection of massive models on PC platforms… Massive datasets rendered on a commodity PC

  3. (Teaser: volume rendering on light field display) 64GVoxel model volume rendered on a 35MPixel light field display driven by 36 NVIDIA 8800 GTS 640MB (G80 GPU)

  4. Application domains / data sources Local Terrain Models 2.5D – Flat – Dense regular sampling • 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:15PM-5:55PMChallenges in Large Data Visualization: A Visualization Community Call to Action Planetary terrain models 2.5D – Spherical – Dense regular sampling Laser scanned models 3D – Moderately simple topology – low depth complexity - dense CAD models 3D – complex topology – high depth complexity – structured - ‘ugly’ mesh Natural objects / Simulation results 3D – complex topology + high depth complexity + unstructured/high frequency details

  5. 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! GT200 Intel Harpertown 3.2GHz CPU: +60%/yr DRAM: +7%/yr

  6. Brute force not a solution. Be Smart! GPU

  7. Actually, smart use of brute force! GPU GPU See also: Vis Panel -- Thursday 10:30AM-12:10PMThe Impact of Future Hardware on Visualization

  8. A real-time data filtering problem! • Models of unbounded complexity on limited computers • Need for output-sensitive techniques (O(N), not O(K)) • 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) Small Working Set Storage Screen View parameters I/O Projection + Visibility + Shading Limited bandwidth (network/disk/RAM/CPU/PCIe/GPU/…) O(K=unbounded) bytes (triangles, points, …) 10-100 Hz O(N=1M-100M) pixels

  9. Main ingredients • Preprocessing vs. Run-time • 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 • ...

  10. 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

  11. Our contributionsGPU-friendly output-sensitive techniques • Underlying ideas • 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 • Complex rendering primitives • GPU programming features • Curvilinear patches, view-dependent voxels, … • Chunk-based external memory management • Compression/decompression, block transfers, caching Network / Bus Partitioning and simplification Cache Adaptive rendering GPU Off-line On-line Multiresolution structure (data+dependency)

  12. Our contributionsGPU-friendly output-sensitive techniques *-BDAM – Local and Global Terrain Models Gobbetti/Marton (CRS4), Cignoni/Ganovelli/Ponchio/Scopigno (CNR) EG 2003, IEEE Viz 2003, EG 2005 Adaptive Tetrapuzzles – Dense meshes Gobbetti/Marton (CRS4), Cignoni/Ganovelli/Ponchio/Scopigno (CNR) SIGGRAPH 2004 Layered Point Clouds – Dense clouds Gobbetti/Marton (CRS4) SPBG 2004 / Computers & Graphics 2004 Far Voxels – General Gobbetti/Marton (CRS4) SIGGRAPH 2005 Blockmaps – Hybrid volumetric city model Gobbetti/Marton (CRS4), Cignoni/Ganovelli/Di Benedetto/Scopigno (CNR) EG 2007 MOVR – Volumetric models Gobbetti/Marton/Iglesias Guitian (CRS4) CGI 2008

  13. Our contributionsGPU-friendly output-sensitive techniques *-BDAM – Local and Global Terrain Models Gobbetti/Marton (CRS4), Cignoni/Ganovelli/Ponchio/Scopigno (CNR) EG 2003, IEEE Viz 2003, EG 2005 RASTERIZATION Adaptive Tetrapuzzles – Dense meshes Gobbetti/Marton (CRS4), Cignoni/Ganovelli/Ponchio/Scopigno (CNR) SIGGRAPH 2004 Layered Point Clouds – Dense clouds Gobbetti/Marton (CRS4) SPBG 2004 / Computers & Graphics 2004 Far Voxels – General Gobbetti/Marton (CRS4) SIGGRAPH 2005 Blockmaps – Hybrid volumetric city model Gobbetti/Marton (CRS4), Cignoni/Ganovelli/Di Benedetto/Scopigno (CNR) EG 2007 RAYCASTING MOVR – Volumetric models Gobbetti/Marton/Iglesias Guitian (CRS4) CGI 2008

  14. Our contributionsGPU-friendly output-sensitive techniques *-BDAM – Local and Global Terrain Models Gobbetti/Marton (CRS4), Cignoni/Ganovelli/Ponchio/Scopigno (CNR) EG 2003, IEEE Viz 2003, EG 2005 RASTERIZATION Adaptive Tetrapuzzles – Dense meshes Gobbetti/Marton (CRS4), Cignoni/Ganovelli/Ponchio/Scopigno (CNR) SIGGRAPH 2004 Layered Point Clouds – Dense clouds Gobbetti/Marton (CRS4) SPBG 2004 / Computers & Graphics 2004 Far Voxels – General Gobbetti/Marton (CRS4) SIGGRAPH 2005 HYBRID Blockmaps – Hybrid volumetric city model Gobbetti/Marton (CRS4), Cignoni/Ganovelli/Di Benedetto/Scopigno (CNR) EG 2007 RAYCASTING MOVR – Volumetric models Gobbetti/Marton/Iglesias Guitian (CRS4) CGI 2008

  15. Our contributionsGPU-friendly output-sensitive techniques *-BDAM – Local and Global Terrain Models Gobbetti/Marton (CRS4), Cignoni/Ganovelli/Ponchio/Scopigno (CNR) EG 2003, IEEE Viz 2003, EG 2005 MESH-BASED FRAMEWORK Adaptive Tetrapuzzles – Dense meshes Gobbetti/Marton (CRS4), Cignoni/Ganovelli/Ponchio/Scopigno (CNR) SIGGRAPH 2004 Layered Point Clouds – Dense clouds Gobbetti/Marton (CRS4) SPBG 2004 / Computers & Graphics 2004 Far Voxels – General Gobbetti/Marton (CRS4) SIGGRAPH 2005 MESH-LESS FRAMEWORK Blockmaps – Hybrid volumetric city model Gobbetti/Marton (CRS4), Cignoni/Ganovelli/Di Benedetto/Scopigno (CNR) EG 2007 MOVR – Volumetric models Gobbetti/Marton/Iglesias Guitian (CRS4) CGI 2008

  16. Our contributionsGPU-friendly output-sensitive techniques *-BDAM – Local and Global Terrain Models Gobbetti/Marton (CRS4), Cignoni/Ganovelli/Ponchio/Scopigno (CNR) EG 2003, IEEE Viz 2003, EG 2005 Specialize Chunked Multi- Triangulations Gobbetti/Marton (CRS4), Cignoni/ Ganovelli/Ponchio/Scopigno (CNR) IEEE Viz 2005 Adaptive Tetrapuzzles – Dense meshes Gobbetti/Marton (CRS4), Cignoni/Ganovelli/Ponchio/Scopigno (CNR) SIGGRAPH 2004 Layered Point Clouds – Dense clouds Gobbetti/Marton (CRS4) SPBG 2004 / Computers & Graphics 2004 Generalize Specialize Far Voxels – General Gobbetti/Marton (CRS4) SIGGRAPH 2005 View-dep. Volumetric Model In progress Blockmaps – Hybrid volumetric city model Gobbetti/Marton (CRS4), Cignoni/Ganovelli/Di Benedetto/Scopigno (CNR) EG 2007 MOVR – Volumetric models Gobbetti/Marton/Iglesias Guitian (CRS4) CGI 2008 Generalize

  17. Our contributionsGPU-friendly output-sensitive techniques *-BDAM – Local and Global Terrain Models Gobbetti/Marton (CRS4), Cignoni/Ganovelli/Ponchio/Scopigno (CNR) EG 2003, IEEE Viz 2003, EG 2005 Specialize Chunked Multi- Triangulations Gobbetti/Marton (CRS4), Cignoni/ Ganovelli/Ponchio/Scopigno (CNR) IEEE Viz 2005 Adaptive Tetrapuzzles – Dense meshes Gobbetti/Marton (CRS4), Cignoni/Ganovelli/Ponchio/Scopigno (CNR) SIGGRAPH 2004 Layered Point Clouds – Dense clouds Gobbetti/Marton (CRS4) SPBG 2004 / Computers & Graphics 2004 Generalize Specialize Far Voxels – General Gobbetti/Marton (CRS4) SIGGRAPH 2005 View-dep. Volumetric Model In progress Blockmaps – Hybrid volumetric city model Gobbetti/Marton (CRS4), Cignoni/Ganovelli/Di Benedetto/Scopigno (CNR) EG 2007 MOVR – Volumetric models Gobbetti/Marton/Iglesias Guitian (CRS4) CGI 2008 Generalize

  18. Real-time adaptive meshes • The problem: efficiently create view-dependent meshes • Constraints: • must approximate original surface with controlled screen-space error • must preserve continuity (conforming meshes) • must handle meshes of varying topology • must be efficiently rendered

  19. Chunked Multi TriangulationsThe 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) • f1 floor • g1 the new fragment D’=D \ f g Di+1=Di gi+1

  20. Chunked Multi TriangulationsThe 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

  21. Chunked Multi TriangulationsMT Cuts • A cut of the DAG defines a new representation • Collect all the fragment floors of cut arcs and you get a new conforming mesh D*=D0  g1  g4 = f0 f02 f03 f13 f1 f4

  22. Chunked Multi TriangulationsGPU Friendly MT • 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*=D0  g1  g4 = f0 f02 f03 f13 f1 f4

  23. Chunked Multi TriangulationsGPU Friendly MT • Construction • Start with hires triangle soup • Partition model using a hierarchical space partitioning scheme • Construct non-leaf cells by bottom-up recombination and simplification of lower level cells • Assign model space errors and bounding volumes to cells • Rendering • Refine conformal hierarchy, render selected precomputed cells • Project errors to screen • Dual queue + visibility feedback Partitioning Constrained simplification + Chunk error computation Cache Adaptive rendering GPU On-line

  24. Chunked Multi TriangulationsDAG problems • Not all MTs are good MTs! • 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 (TetraPuzzles) • IEEE Viz 2005: General construction technique (V-Partition) • … see also QVDR, IEEE Viz 2004 and other related work…

  25. Adaptive TetraPuzzlesOverview • 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 View dependent mesh refinement

  26. Adaptive TetraPuzzlesResults Michelangelo’s St. Matthew Source: Digital Michelangelo Project Data: 374M triangles Intel Xeon 2.4GHz 1GB GeForce FX 5800U AGP8X

  27. 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, >4Mtri/frame at >30 fps on modern GPUs • Extremely high quality for large dense models with “well behaved” surface

  28. 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 (view-independent approximations) • Hard to apply to models with high detail and complex topology and high depth complexity!

  29. 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 surface-based

  30. Our contributionsGPU-friendly output-sensitive techniques *-BDAM – Local and Global Terrain Models Gobbetti/Marton (CRS4), Cignoni/Ganovelli/Ponchio/Scopigno (CNR) EG 2003, IEEE Viz 2003, EG 2005 Specialize Chunked Multi- Triangulations Gobbetti/Marton (CRS4), Cignoni/ Ganovelli/Ponchio/Scopigno (CNR) IEEE Viz 2005 Adaptive Tetrapuzzles – Dense meshes Gobbetti/Marton (CRS4), Cignoni/Ganovelli/Ponchio/Scopigno (CNR) SIGGRAPH 2004 Layered Point Clouds – Dense clouds Gobbetti/Marton (CRS4) SPBG 2004 / Computers & Graphics 2004 Generalize Specialize Far Voxels – General Gobbetti/Marton (CRS4) SIGGRAPH 2005 View-dep. Volumetric Model In progress Blockmaps – Hybrid volumetric city model Gobbetti/Marton (CRS4), Cignoni/Ganovelli/Di Benedetto/Scopigno (CNR) EG 2007 MOVR – Volumetric models Gobbetti/Marton/Iglesias Guitian (CRS4) CGI 2008 Generalize

  31. Far Voxels The Far Voxel Concept • Assumption: opaque surfaces, non participating medium • Goal is to represent the appearance of complex fargeometry • 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

  32. Far Voxels The Far Voxel Concept • Assumption: opaque surfaces, non participating medium • Goal is to represent the appearance of complex fargeometry • 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

  33. Far Voxels Construction overview

  34. Far Voxels Construction overview

  35. Far Voxels Construction overview: Far Voxel • 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

  36. Err(k) = Far Voxels Construction overview: Far Voxel Shaders • 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 • Choose approximation with lowest error Flat proxy: 2 components Smooth proxy: 6 components Others… …

  37. Triangles Far Voxels Far Voxels 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 glDrawArrays • Splat voxels as antialiased point primitives • Limits • Does not consider primitive opacity • Rendering quality similar to one-pass point splat methods (no sorting/blending)

  38. Far Voxels 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.4GHz 1GB, GeForce 6800GT AGP8X

  39. Our contributionsGPU-friendly output-sensitive techniques *-BDAM – Local and Global Terrain Models Gobbetti/Marton (CRS4), Cignoni/Ganovelli/Ponchio/Scopigno (CNR) EG 2003, IEEE Viz 2003, EG 2005 Specialize Chunked Multi- Triangulations Gobbetti/Marton (CRS4), Cignoni/ Ganovelli/Ponchio/Scopigno (CNR) IEEE Viz 2005 Adaptive Tetrapuzzles – Dense meshes Gobbetti/Marton (CRS4), Cignoni/Ganovelli/Ponchio/Scopigno (CNR) SIGGRAPH 2004 Layered Point Clouds – Dense clouds Gobbetti/Marton (CRS4) SPBG 2004 / Computers & Graphics 2004 Generalize Specialize Far Voxels – General Gobbetti/Marton (CRS4) SIGGRAPH 2005 View-dep. Volumetric Model In progress Blockmaps – Hybrid volumetric city model Gobbetti/Marton (CRS4), Cignoni/Ganovelli/Di Benedetto/Scopigno (CNR) EG 2007 MOVR – Volumetric models Gobbetti/Marton/Iglesias Guitian (CRS4) CGI 2008 Generalize

  40. creation and maintenance rendering preprocessing adaptive loader volume render storage octree node database visibility feedback working set CPU GPU MOVR: Massive Volumetric Datasets • Main idea: Decouple level-of-detail 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 See also: Crassin et al., GigaVoxels: Ray-Guided Streaming for Efficient and Detailed Voxel Rendering, Proc. I3D 2009. 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.

  41. 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

  42. Our contributions MOVR – Massive volumetric datasets Xeon 2.4GHz / 2GB RAM / SATA2Disk / NVIDIA 8800GTX Ultra 768MB 2GVoxels: 12 GB uncompressed raw data (16bit/voxel + 32bit gradients)

  43. Our contributionsGPU-friendly output-sensitive techniques *-BDAM – Local and Global Terrain Models Gobbetti/Marton (CRS4), Cignoni/Ganovelli/Ponchio/Scopigno (CNR) EG 2003, IEEE Viz 2003, EG 2005 Specialize Chunked Multi- Triangulations Gobbetti/Marton (CRS4), Cignoni/ Ganovelli/Ponchio/Scopigno (CNR) IEEE Viz 2005 Adaptive Tetrapuzzles – Dense meshes Gobbetti/Marton (CRS4), Cignoni/Ganovelli/Ponchio/Scopigno (CNR) SIGGRAPH 2004 Layered Point Clouds – Dense clouds Gobbetti/Marton (CRS4) SPBG 2004 / Computers & Graphics 2004 Generalize Specialize Far Voxels – General Gobbetti/Marton (CRS4) SIGGRAPH 2005 View-dep. Volumetric Model In progress Blockmaps – Hybrid volumetric city model Gobbetti/Marton (CRS4), Cignoni/Ganovelli/Di Benedetto/Scopigno (CNR) EG 2007 MOVR – Volumetric models Gobbetti/Marton/Iglesias Guitian (CRS4) CGI 2008 Generalize

  44. Our contributions 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 BlockMaps for Large Urban Models Visualization. Computer Graphics Forum, 26(3): 405-413, September 2007. Proc. Eurographics 2007.

  45. Our contributions Blockmaps – Massive urban models Rendering of textured 60GB model of Paris on a PC with NVIDIA 8800GTX

  46. IEEE VisWeek Tutorial:Interactive Massive Model RenderingNext session: Hybrid Rendering –Christian Lauterbach Dinesh ManochaUNC

More Related