2015 crs4-seminar-massive-models-full

104
www.crs4.it/vic/ Visual Computing 1: Scalable Graphics Marco Agus Marcos Balsa Enrico Gobbetti Fabio Marton Jose Díaz CRS4/ViC June 2015

Transcript of 2015 crs4-seminar-massive-models-full

  1. 1. www.crs4.it/vic/ Visual Computing 1: Scalable Graphics Marco Agus Marcos Balsa Enrico Gobbetti Fabio Marton Jose Daz CRS4/ViC June 2015
  2. 2. E. Gobbetti, F. Marton, Massive models, June 2015 CRS4 Center for Research, Development, and Advanced Studies in Sardinia Interdisciplinary research center focused on computational sciences Strong research program in CS + apps to IS / E&E / Bio Leading computational + bioprocessing facilities Located in the POLARIS Science and Technology Park (Pula, Sardinia, Italy) Operational since 1992, RTD staff of ~130 people
  3. 3. E. Gobbetti, F. Marton, Massive models, June 2015 CRS4: Visual Computing Group Main activities Visual Computing RTD 3D scanning Staff Director: Enrico Gobbetti Main lab: Marco Agus, Marcos Balsa, Fabio Bettio, Jose Daz, Fabio Marton, Gianni Pintore, Ruggero Pintus, Antonio Zorcolo, Roberto Combet, Emilio Merella, Alex Tinti Secretariat: Katia Brigaglia, Cinzia Sardu
  4. 4. E. Gobbetti, F. Marton, Massive models, June 2015 CRS4: Visual Computing Group Externally funded research program Many EU projects (4FP-7FP) and national projects Industrial projects from GEXCEL, DIES, ENEL, ; Active presence in the scientific community Many scientific collaborations: ISTI, UZH, JHU, HOL, KAIST, Over 150 refereed publications Conference organization Software products and technology transfer Industrial software: point cloud visualizers, surgical simulators, sciviz tools, Public software: geoviewing, neuroimaging tools, Cultural Heritage Installations, Educational Activities University courses; PhD students; Tutorials; ITNs
  5. 5. E. Gobbetti, F. Marton, Massive models, June 2015 Research RTD (mostly) connected to 3D massive models Many domains: simulations, multimedia engineering, medical imaging, 3D scanning, geospatial data, RTD covers acquisition, processing, distribution, rendering, exploration plus other topics Simulators, 3DTV, 6
  6. 6. E. Gobbetti, F. Marton, Massive models, June 2015 Massive research How to efficiently acquire/create massive models? Computational photography, 3D scanning pipe-lines, 3DTV How to efficiently process them? Stream-processing, multiresolution, external memory algorithms, parallel programming, GPGPU Specific processing methods How to efficiently store and distribute them? Multiresolution, adaptive streaming, compression How to efficiently render/interact with them? Multiresolution, adaptive rendering/collisions, out-of-core methods, GPU programming, parallelization, rasterization, ray-casting How to efficiently explore them? Novel 3D displays, specific interaction techniques Portable devices 7
  7. 7. E. Gobbetti, F. Marton, Massive models, June 2015 Effective acquisition of color and shape of 3D models Combining acquired colorimetric and geometric information using multiple sensors acquiring 3D models in highly cluttered environments mapping photographic datasets to dense 3D models acquired with laser scanning capturing indoor scenes 8 SELECTED PUBLICATIONS: ACM JOCCH 2015 A Fast and Robust Framework for Semi-Automatic and Automatic Registration of Photographs to 3D Geometry ACM JOCCH 2015 Mont'e Scan: Effective Shape and Color Digitization of Cluttered 3D Artworks C&G 2014 Automatic Room Detection and Reconstruction in Cluttered Indoor Environments with Complex Room Layouts.
  8. 8. E. Gobbetti, F. Marton, Massive models, June 2015 Large scale terrain mapping Parallel color/geometry fusion, compression, Online regional systems Streaming reconstruction Streaming MLS implementation Parallel, fast, scalable to gigabyte- sized models Registration and blending Auto registration geometry to geometry and photo to geometry Streaming seamless photo blending on massive point clouds and triangle meshes Scalable surface processing 9 SELECTED PUBLICATIONS: ACM JOCCH 2015 A Fast and Robust Framework for Semi-Automatic and Automatic Registration of Photographs to 3D Geometry ACM JOCCH 2015 Mont'e Scan: Effective Shape and Color Digitization of Cluttered 3D Artworks C&G 2014 Automatic Room Detection and Reconstruction in Cluttered Indoor Environments with Complex Room Layouts.
  9. 9. E. Gobbetti, F. Marton, Massive models, June 2015 Rendering and streaming of terrains and urban environments Batched Dynamic Adaptive Meshes First GPU-accelerated seamless variable resolution methods for terrain rendering (*-BDAM) Compressed LODs for massive urban models Blockmaps framework 10 SELECTED PUBLICATIONS: EG 2007: Ray-Casted BlockMaps for Large Urban Models Visualization. EG 2006: C-BDAM - Compressed Batched Dynamic Adaptive Meshes for Terrain Rendering. EG 2003: BDAM - Batched Dynamic Adaptive Meshes for High Performance Terrain Visualization. Second Best Paper Award.
  10. 10. E. Gobbetti, F. Marton, Massive models, June 2015 Processing, distribution, and rendering of massive dense 3D meshes and point clouds Coarse grained multiresolution model based on hierarchical volumetric decomposition First GPU bound technique for massive meshes General framework based on an extension of the Multi-Triangulation (GPU-MT) Optimized representation based on a conformal hierarchy of tetrahedra Packed representation based on quadrangulation (QuadPatches) Demonstrated on a number of test cases, including all Digital Michelangelo and Monte Prama models 11 SELECTED PUBLICATIONS: IEEE VIS 2005, Batched Multi Triangulation. In Proceedings IEEE Visualization C&G 2004, Layered Point Clouds - a Simple and Efficient Multiresolution Structure for Distributing and Rendering Gigantic Point-Sampled Models. SIGGRAPH 2004, Adaptive TetraPuzzles Efficient Out-of- core Construction and Visualization of Gigantic Polygonal Models.
  11. 11. E. Gobbetti, F. Marton, Massive models, June 2015 Processing, distribution, and rendering of massive dense 3D meshes and point clouds Coarse grained multiresolution model based on hierarchical volumetric decomposition First GPU bound technique for massive meshes General framework based on an extension of the Multi-Triangulation (GPU-MT) Optimized representation based on a conformal hierarchy of tetrahedra Packed representation based on quadrangulation (QuadPatches) Demonstrated on a number of test cases, including all Digital Michelangelo and Monte Prama models 12 SELECTED PUBLICATIONS: IEEE VIS 2005, Batched Multi Triangulation. In Proceedings IEEE Visualization C&G 2004, Layered Point Clouds - a Simple and Efficient Multiresolution Structure for Distributing and Rendering Gigantic Point-Sampled Models. SIGGRAPH 2004, Adaptive TetraPuzzles Efficient Out-of- core Construction and Visualization of Gigantic Polygonal Models.
  12. 12. E. Gobbetti, F. Marton, Massive models, June 2015 Processing, distribution, and rendering of huge complex 3D models Visualization of very large arbitrary surface models (CAD/simulation) based on volumetric multi-scale approximations Far Voxels, Coherent Hierarchical Culling, Ray Tracing Far Voxels, CHC+RT Image-based methods ExploreMaps, 13 SELECTED PUBLICATIONS: Eurographics 2015 CHC+RT: Coherent Hierarchical Culling for Ray Tracing Eurographics 2014: Efficient Construction and Ubiquitous Exploration of Panoramic View Graphs of Complex 3D Environments Siggraph 2005 Far Voxels - A Multiresolution Framework for Interactive Rendering of Huge Complex 3D Models on Commodity Graphics Platforms
  13. 13. E. Gobbetti, F. Marton, Massive models, June 2015 Massive volumetric compression and rendering Render models of potentially unlimited size on current GPU platforms. Methods based on adaptive out-of-core multiresolution techniques visibility feedback single-pass GPU raycasting framework Novel compression techniques based on tensor decomposition sparse coding Fully interactive performance on datasets of many GVoxels 14 SELECTED PUBLICATIONS: CGF 2014 State-of-the-art in Compressed GPU-Based Direct Volume Rendering. Eurovis 2012 COVRA: A compression-domain output- sensitive volume rendering architecture based on a sparse representation of voxel blocks. IEEE VIS 2011 Interactive Multiscale Tensor Reconstruction for Multiresolution Volume Visualization.
  14. 14. E. Gobbetti, F. Marton, Massive models, June 2015 Interactive visualization on remote, web, and mobile devices Compact multiresolution mesh and point-cloud representations for embedded platform and web scripting Asymmetric compression framework, LODs, constrained techniques, image-based representations ExploreMaps, Adaptive Quad Patches, Compressed TetraPuzzles WebGL, Android, iOS 15 SELECTED PUBLICATIONS: Eurographics 2014 ExploreMaps: Efficient Construction and Ubiquitous Exploration of Panoramic View Graphs of Complex 3D Web3D 2013 Compression-domain Seamless Multiresolution Visualization of Gigantic Meshes on Mobile Devices. Web3D 2012 Adaptive Quad Patches: an Adaptive Regular Structure for Web Distribution and Adaptive Rendering of 3D Models. Best Paper Award
  15. 15. E. Gobbetti, F. Marton, Massive models, June 2015 3D multi-projector display with special holographic screen HW by Holografika Objects appear floating in space Developed calibration method, rendering systems, MCOP technique for rendering Cluster-parallel visualization Special rendering techniques for surfaces and volumes Illustrative methods on view- dependent displays Special navigation techniques Maintain focus on displays sweet spot Reduce DOFs to support casual users Parallel multiresolution visualization on light field displays 16 SELECTED PUBLICATIONS: The Visual Computer 2010 View-dependent Exploration of Massive Volumetric Models on Large Scale Light Field Displays. Eurographics 2008 GPU Accelerated Direct Volume Rendering on an Interactive Light Field Display. C&G 2008 Scalable Rendering of Massive Triangle Meshes on Light Field Displays.
  16. 16. E. Gobbetti, F. Marton, Massive models, June 2015 Novel user interfaces for exploring 3D models Natural interfaces for scene navigation and data exploration Assisted 3D scene exploration Information presentation in scenes with annotations Exploration tools for volumetric data Device-specific UIs (light- field display, dual-display setups, mobile touch screens, ) 17 SELECTED PUBLICATIONS: EuroVis 2015 Adaptive Recommendations for Enhanced Non-linear Exploration of Annotated 3D Objects. JOCCH 2014 IsoCam: Interactive Visual Exploration of Massive Cultural Heritage Models on Large Projection Setups C&G 2012 Natural exploration of 3D massive models on large-scale light field displays using the FOX proximal navigation technique
  17. 17. E. Gobbetti, F. Marton, Massive models, June 2015 TODAYS SEMINARS 18
  18. 18. E. Gobbetti, F. Marton, Massive models, June 2015 Todays seminars 9:30 Enrico Gobbetti Opening 9:45 Fabio Marton Tecniche per la visualizzazione in tempo reale di modelli 3D di grandi dimensioni 11:00 Break 11:30 Marcos Balsa Marco Agus Mobile Graphics: panoramica di applicazioni grafiche mobili e integrazione con soluzioni multi-risoluzione 13:00 Break 14:30 Enrico Gobbetti Fabio Marton State-of-the-art in Compressed GPU-Based Direct Volume Rendering: part 1 Models and Preprocessing 16:00 Break 16:30 Jose Daz Enrico Gobbetti State-of-the-art in Compressed GPU-Based Direct Volume Rendering: part 2 Rendering 18:00 Questionario di valutazione 19
  19. 19. E. Gobbetti, F. Marton, Massive models, June 2015 Follow-up on 30/6/2015 dedicated to Cultural Heritage Computing 9:30 Enrico Gobbetti Opening 9:45 Ruggero Pintus Gianni Pintore Shape Modeling and acquisition 11:30 Break 12:00 Fabio Bettio Effective Shape and Color Digitization of Cluttered 3D Artworks 12:30 Gianni Pintore Simple Acquisition and Reconstruction of Multi- room Indoor Structures 13:00 Break 14:30 Marcos Balsa Marco Agus Exploration of Complex and Annotated 3D Models 16:00 Break 16:30 Enrico Gobbetti Ruggero Pintus Geometric Analysis for Cultural Heritage 17:30 Questionario di valutazione 20
  20. 20. E. Gobbetti, F. Marton, Massive models, June 2015 AND MORE! For more information: www.crs4.it/vic/
  21. 21. www.crs4.it/vic/ Massive models exploration: a short overview Marco Agus Marcos Balsa Enrico Gobbetti Fabio Marton Jose Daz CRS4/ViC June 2015
  22. 22. E. Gobbetti, F. Marton, Massive models, June 2015 MASSIVE MODEL RENDERING A bit of context 23
  23. 23. E. Gobbetti, F. Marton, Massive models, June 2015 Context and Motivation Explosion of data in all areas of science, engineering, health and business applications, driven by improvements in hardware and information processing technology Acquisition: 3D imaging, remote sensing, range scanners, massive picture collections, ubiquitous sensing devices, Computing: modeling, simulations Need for novel tools, techniques, and expertise! Our focus is 3D data Wide and deep impact on a variety of domains 24
  24. 24. E. Gobbetti, F. Marton, Massive models, June 2015 Application domains / data sources Many important application domains Todays models exceed O(108-1010) samples O(109-1011) bytes Varying Dimensionality Topology Sampling distribution Terrain Models 2.5D Flat/Spherical Dense regular sampling Urban models 2.5-3D Block structure Laser scanned models 3D Moderately simple topology low depth complexity - dense CAD models 3D complex topology high depth complexity structured - ugly mesh Natural objects / Sim. results 3D complex topology + high depth complexity + unstructured/high frequency details Volumetric models 3D/4D semitransparent volumes
  25. 25. E. Gobbetti, F. Marton, Massive models, June 2015 Massive model rendering To explore massive 3D scenes we need to transform them at interactive into a synthetic image that can be displayed on the screen Two main families of algorithms Raytracing algorithms Rasterization-based algorithms I/O Storage Screen 10-100 Hz O(N=1M-100M) pixels O(K=unbounded) bytes (triangles, points, ) Limited bandwidth (network/disk/RAM/CPU/PCIe/GPU/) View parameters Projection + Visibility + Shading
  26. 26. E. Gobbetti, F. Marton, Massive models, June 2015 Basic Ray Tracing vs. Rasterization Rasterization Project scene to image samples Ray Tracing Project image samples to scene For each image pixel p: make a ray r For each scene primitive o: if intersect(r,o) then find color for o color p with it For each scene primitive o: find where o falls on screen rasterize 2D shape for each produced pixel p: find color for o color p with it Lighting Projection
  27. 27. E. Gobbetti, F. Marton, Massive models, June 2015 Basic Ray Tracing vs. Rasterization Rasterization Project scene to image samples Ray Tracing Project image samples to scene For each image pixel p: make a ray r For each scene primitive o: if intersect(r,o) then find color for o color p with it For each scene primitive o: find where o falls on screen rasterize 2D shape for each produced pixel p: find color for o color p with it
  28. 28. E. Gobbetti, F. Marton, Massive models, June 2015 Scalability Traditional HPC, parallel rendering definitions Strong scaling (more nodes are faster for same data) Weak scaling (more nodes allow larger data) Our interest/definition: output sensitivity Running time/storage proportional to size of output instead of input Computational effort scales with visible data and screen resolution Working set independent of original data size 29
  29. 29. E. Gobbetti, F. Marton, Massive models, June 2015 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 (maximize cache hits!) Need for parallel techniques (maximize CPU/GPU core usage) I/O Storage Screen 10-100 Hz O(N=1M-100M) pixels O(K=unbounded) bytes (triangles, points, ) Limited bandwidth (network/disk/RAM/CPU/PCIe/GPU/) View parameters Projection + Visibility + Shading
  30. 30. E. Gobbetti, F. Marton, Massive models, June 2015 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 (maximize cache hits!) Need for parallel techniques (maximize CPU/GPU core usage) I/O Storage Screen 10-100 Hz O(N=1M-100M) pixels O(K=unbounded) bytes (triangles, points, ) Limited bandwidth (network/disk/RAM/CPU/PCIe/GPU/) View parameters Projection + Visibility + Shading Small Working Set
  31. 31. E. Gobbetti, F. Marton, Massive models, June 2015 Output-sensitive techniques At preprocessing time: build MR structure Data prefiltering! Visibility + simplification Compression At run-time: selective view-dependent refinement from out- of-core data Must be output sensitive Access to prefiltered data under real-time constraints Visibility + LOD COARSE FINE
  32. 32. E. Gobbetti, F. Marton, Massive models, June 2015 Output-sensitive techniques At preprocessing time: build MR structure Data prefiltering! Visibility + simplification Compression At run-time: selective view-dependent refinement from out- of-core/remote data Must be output sensitive Access to prefiltered data under real-time constraints Decoding, Visibility + LOD Occluded / Out-of-view Inaccurate Accurate FRONT
  33. 33. E. Gobbetti, F. Marton, Massive models, June 2015 Our contributions: GPU-friendly output-sensitive techniques Chunk-based multiresolution structures Amortize selection costs over groups of primitives 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 Streaming, compression/decompression, block transfers, caching
  34. 34. E. Gobbetti, F. Marton, Massive models, June 2015 35MPixel displays 72 projectors 35 1GTri model on Light Field Displays
  35. 35. E. Gobbetti, F. Marton, Massive models, June 2015 and on Mobile Terminals iPhone4 / iPad 36
  36. 36. E. Gobbetti, F. Marton, Massive models, June 2015 and we can do volumes, too Direct Volume Rendering of 64GVoxel 37
  37. 37. E. Gobbetti, F. Marton, Massive models, June 2015 REAL-TIME ADAPTIVE MESHES 38
  38. 38. E. Gobbetti, F. Marton, Massive models, June 2015 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
  39. 39. E. Gobbetti, F. Marton, Massive models, June 2015 Chunked multiresolution structures Mix and match chunks Amortize CPU work! Two approaches Adaptive coarse subdivision Multiresolution by combining a variable number of fixed-size patches Chunked-MT TetraPuzzles *-BDAM Fixed coarse subdivision Fixed number of patches, multiresolution inside patches Adaptive QuadPatches
  40. 40. E. Gobbetti, F. Marton, Massive models, June 2015 Chunked Multi Triangulations The Multi Triangulation Framework Theoretical basis MT multiresolution framework (Puppo 1996) Our contribution GPU friendly implementation based on surface chunks with boundary constraints Optimized implicit specializations (TetraPuzzles/V-Partitions) Parallel out-of-core pre- processing and out-of-core run-time Partitioning and simplification Adaptive rendering GPU Cache Multiresolution structure (data+dependency) Off-line On-line Network / Bus References: EG 2003, 2006; IEEE Viz 2003, 2005; SIGGRAPH 2004; SPBG/C&G 2004; VAST 2009,2012; PG 2010,
  41. 41. E. Gobbetti, F. Marton, Massive models, June 2015 Chunked Multi Triangulations 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) f1 floor / g1 the new fragment D=Df g Di+1=Di gi+1
  42. 42. E. Gobbetti, F. Marton, Massive models, June 2015 Chunked Multi Triangulations 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
  43. 43. E. Gobbetti, F. Marton, Massive models, June 2015 Chunked Multi Triangulations MT 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
  44. 44. E. Gobbetti, F. Marton, Massive models, June 2015 Chunked Multi Triangulations GPU Friendly MT Chunked MT assume fragments are triangle patches with proper boundary constraints DAG 4Mtri/frame at >60 fps on modern GPUs Extremely high quality for large dense models with well behaved surface
  45. 56. E. Gobbetti, F. Marton, Massive models, June 2015 Limitations of mesh-based multiresolution models Hard to apply to models with high detail and complex topology and high depth complexity! Error measured on boundary surfaces LOD construction based on local surface coarsening/simplification operations LOD construction unaware of visibility (view- independent approximations)
  46. 57. E. Gobbetti, F. Marton, Massive models, June 2015 Sampled representations First coarse-grained multiresolution point hierarchy (LPC) Far voxels for Multi-scale modeling of appearance rather than geometry, tight integration of visibility and LOD construction Exploits GPU programmability for accelerated rendering Many test cases, ranging from laser scans, to isosurfaces, to extremely large CAD models Sampled representations C&G 2004, SIGGRAPH 2005, VAST 2009, PG 2010, VC 2012, VAST 2012,
  47. 58. E. Gobbetti, F. Marton, Massive models, June 2015 Far Voxels 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
  48. 59. E. Gobbetti, F. Marton, Massive models, June 2015 Far Voxels 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
  49. 60. E. Gobbetti, F. Marton, Massive models, June 2015 Far Voxels The Far Voxel Concept A far voxel returns color attenuation given View direction Light direction Rendered using a customized vertex shader executed on the GPU Shader = f (view direction, light direction)
  50. 61. E. Gobbetti, F. Marton, Massive models, June 2015 Far Voxels Construction overview
  51. 62. E. Gobbetti, F. Marton, Massive models, June 2015 Far Voxels Construction overview: Inner nodes Sample a model subvolume to build a grid of far voxels Voxels are far Project to worst case max Viewed not closer than dmin D min Section of the 3D grid of far voxels max
  52. 63. E. Gobbetti, F. Marton, Massive models, June 2015 Far Voxels Construction overview: Inner nodes Sample a model subvolume to build a grid of far voxels Voxels are far Project to worst case max Viewed not closer than dmin Raycasting samples original model and identifies visible voxels D min Section of the 3D grid of far voxels max
  53. 64. E. Gobbetti, F. Marton, Massive models, June 2015 Far Voxels Construction overview: Inner nodes Sample a model subvolume to build a grid of far voxels Voxels are far Project to worst case max Viewed not closer than dmin Raycasting samples original model and identifies visible voxels D min Section of the 3D grid of far voxels max
  54. 65. E. Gobbetti, F. Marton, Massive models, June 2015 Far Voxels Construction overview: Far Voxel Consider voxel subvolume Samples gathered from unoccluded directions Sample: (BRDF, n) = f(view direction)
  55. 66. E. Gobbetti, F. Marton, Massive models, June 2015 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
  56. 67. E. Gobbetti, F. Marton, Massive models, June 2015 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 Err(k) =
  57. 68. E. Gobbetti, F. Marton, Massive models, June 2015 Far Voxels Rendering 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) Triangles Far Voxels
  58. 69. E. Gobbetti, F. Marton, Massive models, June 2015 Far Voxels Results Tested on extremely complex heterogeneous surface models St.Matthew, Boeing 777, Richtmyer Meshkov isosurf., all at once Tested in a number of situations Single processor / cluster construction Workstation viewing, large scale display 373M triangles 14.5 GB 350M triangles 13.7 GB 472M triangles 18.4 GB 1.2G triangles 46.6 GB
  59. 70. E. Gobbetti, F. Marton, Massive models, June 2015 Far Voxels Results Xeon 2.4GHz, 70GB SCSI 320 Disk, GeForce FX6800GT AGP 8x (hardware dated back to 2005) Window size: from video resolution to stereo projector display St.Matthew, Boeing, Isosurface: 640 x 480 All at once: 640 x 480 and Stereo 2 x 1024 x 768 Pixel tolerance: [Target 1 | Actual ~0.9 | Max ~10] Resident set size limited to ~200 MB 45 Fps 51 MPrim/s 44 Fps 42 MPrim/s 34 Fps 41 MPrim/s 2 x 1024 x 768 20 Fps 40 MPrim/s 640 x 480 20 Fps 42 MPrim/s
  60. 71. E. Gobbetti, F. Marton, Massive models, June 2015 Far Voxels rendering of complex models. NVIDIA 6800 GTS (2005)
  61. 72. E. Gobbetti, F. Marton, Massive models, June 2015 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
  62. 73. E. Gobbetti, F. Marton, Massive models, June 2015 3D VOLUMETRIC MODELS AND COMPRESSION 78
  63. 74. E. Gobbetti, F. Marton, Massive models, June 2015 Volumetric models Voxelized representation Regular grid structure Simple scalar grid or sampled representation/voxel Data on surfaces and/or interior of objects Advanced semitransp. shading Increasingly common SciViz / Medical imaging Off-line rendering for movies Gaming: voxel engines! Need for compression and efficient rendering
  64. 75. E. Gobbetti, F. Marton, Massive models, June 2015 Visualization of massive scalar volumes without size limitations A single-pass raycasting technique working out-of- core on GPU parallel architectures Compress data to facilitate data streaming and 4D visualizations Novel compression architecture and novel compression methods Volumetric models References: EG 2008, Visual Computer 2008, Visual Computer 2010, VG 2010, TVCG 2011, EUROVIS 2012 80
  65. 76. E. Gobbetti, F. Marton, Massive models, June 2015 Visualization of massive scalar volumes without size limitations A single-pass raycasting technique working out-of- core on GPU parallel architectures Compress data to facilitate data streaming and 4D visualizations Novel compression architecture and novel compression methods Volumetric models 81 Crassin - Gigavoxels References: EG 2008, Visual Computer 2008, Visual Computer 2010, VG 2010, TVCG 2011, EUROVIS 2012 (STAR EG 2013)
  66. 77. E. Gobbetti, F. Marton, Massive models, June 2015 Order dependentOrder independent Accumulation Empty space skipping Early ray termination Pixel 82 Massive Volumes Visualization Volume rendering problem
  67. 78. E. Gobbetti, F. Marton, Massive models, June 2015 Massive Volumes Visualization Volume rendering problem Current interactive solutions are based on GPU architectures Massive parallelism Huge memory bandwidth E.g. GeForce GTX 780 Ti has a 336 GB/s of bandwidth Has 5 GFLOPs [ hardwareinsight.com ] 83
  68. 79. E. Gobbetti, F. Marton, Massive models, June 2015 We introduced a novel method based on the following basic ideas: Multi-resolution out-of-core representation based on a octree of volume bricks Adaptive CPU loading of the data from local/remote repository cooperates with separate render thread fully executed in the GPU Stackless traversal of an adaptive working set Exploitation of the visibility feedback Massive Volumes Visualization Multiresolution out-of-core DVR 84 SELECTED PUBLICATIONS: Real-time deblocked GPU rendering of compressed volumes VMV , 2014. View-dependent exploration of massive volumetric models on large-scale light field displays. The Visual Computer, 26, 2010. A single-pass GPU ray casting framework for interactive out-of-core rendering of massive volumetric datasets. The Visual Computer, 24, 2008.
  69. 80. E. Gobbetti, F. Marton, Massive models, June 2015 An adaptive cut of a multi- resolution octree structure is traversed on the GPU, leading to a method which is scalable and fully adaptive increases performance and reduces overhead produces simple and flexible code (single-pass) Massive Volumes Visualization Multiresolution out-of-core DVR 85
  70. 81. E. Gobbetti, F. Marton, Massive models, June 2015 Use CPU for Creation & loading Octree refinement Encode current cut using an spatial index Use GPU for Stackless octree traversal Using neighbour pointers Rendering Flexible ray traversal / compositing strategies Improved visibility feedback Massive Volumes Visualization Multiresolution out-of-core DVR 86 Architecture overview Neighbour pointer navigation
  71. 82. E. Gobbetti, F. Marton, Massive models, June 2015 volume render adaptive loader storage preprocessing octree node database visibility feedback has current working set enough accuracy? yes octree refinement prepare to render no GPUCPU [ creation and maintainance ] [ rendering ] offline Massive Volumes Visualization Method overview 87
  72. 83. E. Gobbetti, F. Marton, Massive models, June 2015 The adaptive loader maintains in-core a view-and- transfer function dependent cut of the out-of-core octree structure Uses it to update the GPU cache and Spatial Index. Uses CUDA scatter write capability on a 8bit CUDA-array. Basic principles: Update at each frame the visibility status of the nodes in the graph based on rendering feedback Refine nodes marked as visible during the previous frame and considered inaccurate and non-empty according to the current transfer function Pull-up visibillity data to inner nodes by recursively recombination The cost amortized over full brick traversal is negligible (