1 Real-time visualization of large detailed volumes on GPU Cyril Crassin, Fabrice Neyret, Sylvain Lefebvre INRIA Rhône-Alpes / Grenoble Universities Interactive.

Slides:



Advertisements
Similar presentations
Exploration of advanced lighting and shading techniques
Advertisements

Sven Woop Computer Graphics Lab Saarland University
Christian Lauterbach COMP 770, 2/16/2009. Overview  Acceleration structures  Spatial hierarchies  Object hierarchies  Interactive Ray Tracing techniques.
RealityEngine Graphics Kurt Akeley Silicon Graphics Computer Systems.
Topology-Caching for Dynamic Particle Volume Raycasting Jens Orthmann, Maik Keller and Andreas Kolb, University of Siegen.
WSCG 2007 Hardware Independent Clipmapping A. Seoane, J. Taibo, L. Hernández, R. López, A. Jaspe VideaLAB – University of A Coruña (Spain)
Week 11 - Wednesday.  Image based effects  Skyboxes  Lightfields  Sprites  Billboards  Particle systems.
Photon Mapping. How did I use it 10 years ago? Why might you want to use it tomorrow?
Ray-casting in VolumePro™ 1000
1 Questions about GPUs AS-Temps réel – Bordeaux Philippe Decaudin Fabrice Neyret Stéphane Guy Sylvain Lefebvre.
Real-Time Rendering TEXTURING Lecture 02 Marina Gavrilova.
High-Quality Parallel Depth-of- Field Using Line Samples Stanley Tzeng, Anjul Patney, Andrew Davidson, Mohamed S. Ebeida, Scott A. Mitchell, John D. Owens.
Progressive Transmission of Appearance Preserving Octree-Textures Camille Perin Web3D 2008 August 9, 2008 Julien LacosteBruno Jobard LIUPPA University.
Volume Rendering Volume Modeling Volume Rendering Volume Modeling Volume Rendering 20 Apr
Efficient Sparse Voxel Octrees
Rasterization and Ray Tracing in Real-Time Applications (Games) Andrew Graff.
Computer Graphics Hardware Acceleration for Embedded Level Systems Brian Murray
Introduction to Volume Rendering Presented by Zvi Devir.
GH05 KD-Tree Acceleration Structures for a GPU Raytracer Tim Foley, Jeremy Sugerman Stanford University.
Advanced Computer Graphics (Fall 2010) CS 283, Lecture 4: 3D Objects and Meshes Ravi Ramamoorthi
Introduction to Volume Visualization Mengxia Zhu Fall 2007.
3D Graphics Processor Architecture Victor Moya. PhD Project Research on architecture improvements for future Graphic Processor Units (GPUs). Research.
Final Gathering on GPU Toshiya Hachisuka University of Tokyo Introduction Producing global illumination image without any noise.
Texture Sprites: Texture Elements Splatted on Surfaces Sylvain Lefebvre Samuel Hornus Fabrice Neyret GRAVIR/IMAG-INRIA ACM SIGGRAPH 2005 Symposium on Interactive.
Paper by Alexander Keller
Volume Rendering using Graphics Hardware
Voxelized Shadow Volumes Chris Wyman Department of Computer Science University of Iowa High Performance Graphics 2011.
Computer Graphics 2 Lecture x: Acceleration Techniques for Ray-Tracing Benjamin Mora 1 University of Wales Swansea Dr. Benjamin Mora.
Real-time Rendering of Dynamic Vegetation Alexander Kusternig Vienna University Of Technology.
Ray Tracing and Photon Mapping on GPUs Tim PurcellStanford / NVIDIA.
Realtime Caustics using Distributed Photon Mapping Johannes Günther Ingo Wald * Philipp Slusallek Computer Graphics Group Saarland University ( * now at.
Visibility Queries Using Graphics Hardware Presented by Jinzhu Gao.
REAL-TIME VOLUME GRAPHICS Markus Hadwiger VRVis Research Center, Vienna Eurographics 2006 Real-Time Volume Graphics [04] GPU-Based Ray-Casting.
Lecture 3 : Direct Volume Rendering Bong-Soo Sohn School of Computer Science and Engineering Chung-Ang University Acknowledgement : Han-Wei Shen Lecture.
Adaptive Real-Time Rendering of Planetary Terrains WSCG 2010 Raphaël Lerbour Jean-Eudes Marvie Pascal Gautron THOMSON R&D, Rennes, France.
Rendering Forest Scenes in Real-Time EGSR 2004 Philippe Decaudin Fabrice Neyret GRAVIR/IMAG-INRIA, Grenoble, France.
Interactive Rendering of Meso-structure Surface Details using Semi-transparent 3D Textures Vision, Modeling, Visualization Erlangen, Germany November 16-18,
NDVI-based Vegetation Rendering CGIM ‘07 Stefan Roettger, University of Erlangen
Interactive Time-Dependent Tone Mapping Using Programmable Graphics Hardware Nolan GoodnightGreg HumphreysCliff WoolleyRui Wang University of Virginia.
REAL-TIME VOLUME GRAPHICS Christof Rezk Salama Computer Graphics and Multimedia Group, University of Siegen, Germany Eurographics 2006 Real-Time Volume.
VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Adaptive Terrain Slicing (Stefan Roettger)
Real-Time Rendering SPEEDING UP RENDERING Lecture 04 Marina Gavrilova.
Stream Processing Main References: “Comparing Reyes and OpenGL on a Stream Architecture”, 2002 “Polygon Rendering on a Stream Architecture”, 2000 Department.
Interactive Visualization of Exceptionally Complex Industrial CAD Datasets Andreas Dietrich Ingo Wald Philipp Slusallek Computer Graphics Group Saarland.
Tone Mapping on GPUs Cliff Woolley University of Virginia Slides courtesy Nolan Goodnight.
Fast BVH Construction on GPUs (Eurographics 2009) Park, Soonchan KAIST (Korea Advanced Institute of Science and Technology)
Using Interactive Ray Tracing for Interactive Global Illumination Computer Graphics Lab Saarland University, Germany
Hierarchical Penumbra Casting Samuli Laine Timo Aila Helsinki University of Technology Hybrid Graphics, Ltd.
Computer Graphics II University of Illinois at Chicago Volume Rendering Presentation for Computer Graphics II Prof. Andy Johnson By Raj Vikram Singh.
Volume Visualization Presented by Zhao, hai. What’ volume visualization Volume visualization is the creation of graphical representations of data sets.
Efficient Streaming of 3D Scenes with Complex Geometry and Complex Lighting Romain Pacanowski and M. Raynaud X. Granier P. Reuter C. Schlick P. Poulin.
03/15/03© 2005 University of Wisconsin Where We’ve Been Photo-realistic rendering –Accurate modeling and rendering of light transport and surface reflectance.
- Laboratoire d'InfoRmatique en Image et Systèmes d'information
Using wavelets on the XBOX360 For current and future games San Francisco, GDC 2008 Mike Boulton Senior Software Engineer Rare/MGS
Graphics Interface 2009 The-Kiet Lu Kok-Lim Low Jianmin Zheng 1.
3/16/04James R. McGirr1 Interactive Rendering of Large Volume Data Sets Written By : Stefan Guthe Michael Wand Julius Gonser Wolfgang Straβer University.
3D Object Representations 2011, Fall. Introduction What is CG?  Imaging : Representing 2D images  Modeling : Representing 3D objects  Rendering : Constructing.
Maths & Technologies for Games Graphics Optimisation - Batching CO3303 Week 5.
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 29, 2015 RENDERING RASTERIZATION RAY CASTING PROGRAMMABLE SHADERS.
DPL2/10/2016 CS 551/651: Final Review David Luebke
Ray Tracing by GPU Ming Ouhyoung. Outline Introduction Graphics Hardware Streaming Ray Tracing Discussion.
3D Object Representations 2009, Fall. Introduction What is CG?  Imaging : Representing 2D images  Modeling : Representing 3D objects  Rendering : Constructing.
Image Fusion In Real-time, on a PC. Goals Interactive display of volume data in 3D –Allow more than one data set –Allow fusion of different modalities.
GVDB: Raytracing Sparse Voxel Database Structures on the GPU Rama Hoetzlein, NVIDIA High Performance Graphics 2016 Trinity College, Dublin.
Visualization of Scanned Cave Data with Global Illumination
Week 11 - Wednesday CS361.
Tamas Szalay, Volker Springel, Gerard Lemson
3D Object Representations
Improving k-buffer methods via Occupancy Maps
CSCE 441: Computer Graphics Ray Tracing
Presentation transcript:

1 Real-time visualization of large detailed volumes on GPU Cyril Crassin, Fabrice Neyret, Sylvain Lefebvre INRIA Rhône-Alpes / Grenoble Universities Interactive GigaVoxels

2 Volumetric representations for special effects Volumetric special effects [KH05, KAP02] Impressive natural scenes Impressive natural scenes Accurate director vision modeling Realistic and controllable model Voxel engines Voxel engines Realistic global illumination models Effects compositing Particles, fluids, etc. Particles, fluids, etc. Unified rendering Costly rendering solutions Computations time Computations time Memory occupation Memory occupation Source: [Digital Domain]

3 What we do Voxels ray-casting for real-time scenes in Video Games Voxels ray-casting for real-time scenes in Video Games Full scenes representation Full scenes representation Multi-Scale: Large and detailed Multi-Scale: Large and detailed Hyper-texture usage Hyper-texture usage Details enhancement on surface-based scenes Details enhancement on surface-based scenes Procedural amplification Procedural amplification Advantages Advantages Compact representation for very small details Compact representation for very small details Memory and rendering efficiency Memory and rendering efficiency Easy filtering and LOD Easy filtering and LOD 3D Mip-Mapping A lot of tricky effects becomes easy A lot of tricky effects becomes easy Depth Of Field, volumetric light effects

4 Pictures and videos

5 Data structure Hybrid data structure N 3 -tree : Generalized Octree Allow multi-scale subdivision depending on data densities Allow multi-scale subdivision depending on data densities Limit tree depth for rendering performances Acceleration structure Acceleration structure Empty space skipping Dense, empty and detailed zones encoding Dense, empty and detailed zones encoding Small voxel grids in leafs Rendering performances Rendering performances Allow hardware filtering (Tri/Quadri-linear) Mip-Mapping Memory efficiency Memory efficiency Improve storage cost/structure cost efficiency Local density hypothesis in complex zones Data generation and transfer efficiency Data generation and transfer efficiency Regular blocs generation/loading Bloc transfers to the GPU

6Rendering Screen space volume ray-casting Direct N 3 -tree traversal on GPU Direct N 3 -tree traversal on GPU Close to GPU Kd-tree traversal for triangle ray-tracing [EVG04,FS05,HSHH07] Close to GPU Kd-tree traversal for triangle ray-tracing [EVG04,FS05,HSHH07] Kd-Restart is the most efficient on current architectures (G80/G92/GT200) Kd-Restart is the most efficient on current architectures (G80/G92/GT200) Regular bricks rendering in leafs Regular bricks rendering in leafs Volumetric ray-casting [KW03, Sch05] Hardware filtering Hardware filtering Mip-Mapping Mip-Mapping Adaptive sampling Distance dependant Distance dependant Advantages Advantages Good scaling on huge volumes Low dependency on data volume, low overdraw, few geometrical manipulation Low dependency on data volume, low overdraw, few geometrical manipulation Early rays termination Lighting Classical Blinn-Phong per ray sample Classical Blinn-Phong per ray sample On the fly computed or stored gradient data Shadow maps Shadow maps

7 Out-of-core data streaming (1) Produce / Store on GPU only data needed for the current point of view Tree update and bricks loading in real time during exploration Tree update and bricks loading in real time during exploration GPU Cache mechanism Pools of chunks Pools of chunks Implemented in texture memory Sub-Texture update operations Sub-Texture update operations Manually managed LRU mechanism Time stamps updated during rendering Time stamps updated during rendering Via visibility mechanism Tree storage: Nodes-Pool Tree storage: Nodes-Pool Classical pointer-based structure Small size 3D texture Bricks storage: Bricks-Pool Bricks storage: Bricks-Pool Very large 3D texture Usually the whole remaining GPU memory Usually the whole remaining GPU memory

8 Out-of-core data streaming (2) Visibility based loading and LOD Loaded tree branches subdivision/merging Loaded tree branches subdivision/merging Depending on brick distance to the view Depending on brick distance to the view A voxel project to one pixel constraint A voxel project to one pixel constraint Nodes visibility detection Nodes visibility detection Per ray needed nodes information provided by rendering Per ray needed nodes information provided by rendering Screen space Nodes ID buffers Screen space Nodes ID buffers Fast stream compaction operation Fast stream compaction operation Reduced Nodes ID buffer read back to CPU Reduced Nodes ID buffer read back to CPU Progressive loading Upper nodes used while waiting for new data Upper nodes used while waiting for new data Bricks kept in parents nodes Bricks kept in parents nodes Min of 3 levels kept for mip-mapping implementation

9 Results Scenes Lizard Lizard 2048^3 SP FLOAT, 32GB Visible Man Visible Man 2048^3 RGBA8, 32GB Bones field Bones field 8192^3 ALPHA8, 512GB (1GB on disk) Sierpinski sponge Sierpinski sponge 8.4M^3 ALPHA8 Clouds Clouds 512^3 SP FLOAT Hyper-texture usage

10 Visible Man 2048^3 RGBA8, 32GB, 2048^3 RGBA8, 32GB,

11Lizard 2048^3 SP FLOAT, 32GB, 2048^3 SP FLOAT, 32GB,

12 Sierpinski sponge 8.4M^3 ALPHA8 procedural,

13 Bones Field 8192^3 ALPHA8, 512GB (1GB on disk)

14Clouds 512^3 SP FLOAT 512^3 SP FLOAT

15 G80 Reverse Engineering Results Dzdz Dzdz See online: