VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Pre-Integrated Splatting (Stefan Roettger)

Slides:



Advertisements
Similar presentations
7.1 Vis_04 Data Visualization Lecture 7 3D Scalar Visualization Part 2 : Volume Rendering- Introduction.
Advertisements

High-Quality Unstructured Volume Rendering on the PC Platform High-Quality Unstructured Volume Rendering on the PC Platform Hardware Workshop 2002 Stefan.
Direct Volume Rendering. What is volume rendering? Accumulate information along 1 dimension line through volume.
Fast Volumetric Display of Natural Gaseous Phenonema Stefan Roettger Thomas Ertl University of Erlangen.
Fast Volume Rendering Using a Shear-Warp Factorization of the Viewing Transformation Philippe Larcoute & Marc Levoy Stanford University Published in SIGGRAPH.
Other DVR Algorithms and A Comparison Jian Huang, CS 594, Spring 2002.
Interactive High-Quality Volume Rendering on Flexible Consumer Graphics Hardware Klaus Engel, Martin Kraus, Thomas Ertl Visualization and Interactive Systems.
Real-Time Rendering TEXTURING Lecture 02 Marina Gavrilova.
Hank Childs, University of Oregon November 15 th, 2013 Volume Rendering, Part 2.
Cell-Projection of Convex Polyhedra Stefan Roettger Thomas Ertl University of Erlangen.
Volume Rendering Volume Modeling Volume Rendering Volume Modeling Volume Rendering 20 Apr
University of British Columbia CPSC 314 Computer Graphics Jan-Apr 2005 Tamara Munzner Information Visualization.
Rasterization and Ray Tracing in Real-Time Applications (Games) Andrew Graff.
HCI 530 : Seminar (HCI) Damian Schofield.
Surface Reconstruction from 3D Volume Data. Problem Definition Construct polyhedral surfaces from regularly-sampled 3D digital volumes.
Splatting Josh Anon Advanced Graphics 1/29/02. Types of Rendering Algorithms Backward mapping Image plane mapped into data Ray casting Forward mapping.
Introduction to Volume Rendering Presented by Zvi Devir.
Introduction to Volume Visualization Mengxia Zhu Fall 2007.
Tetra-Cubes: An algorithm to generate 3D isosurfaces based upon tetrahedra BERNARDO PIQUET CARNEIRO CLAUDIO T. SILVA ARIE E. KAUFMAN Department of Computer.
Accelerating Marching Cubes with Graphics Hardware Gunnar Johansson, Linköping University Hamish Carr, University College Dublin.
Sorting and cell compositing for irregular meshes Nelson Max, Peter Williams, Richard Cook, Claudio Silva.
Hardware-Assisted Visibility Sorting for Tetrahedral Volume Rendering Steven Callahan Milan Ikits João Comba Cláudio Silva Steven Callahan Milan Ikits.
Smart Hardware- Accelerated Volume Rendering Stefan Roettger Stefan Guthe Daniel Weiskopf Wolfgang Strasser Thomas Ertl.
Introduction to 3D Graphics John E. Laird. Basic Issues u Given a internal model of a 3D world, with textures and light sources how do you project it.
Marching Cubes: A High Resolution 3D Surface Construction Algorithm
VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Volume Graphics - Advanced Klaus Engel Volume.
Stefan Roettger University of Stuttgart A Two-Step Approach for Interactive Pre-Integrated Volume Rendering of Unstructured Grids VolVis '02 A Two-Step.
Definitions Spectral Elements – data structures that contain information about data at points within each geometric entity. Finite elements only hold information.
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.
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
Smart Hardware-Accelerated Volume Rendering Stefan Roettger Stefan Guthe Daniel Weiskopf.
Scientific Visualization Module 6 Volumetric Algorithms (adapted by S.V. Moore – slides deleted, modified, and added) prof. dr. Alexandru (Alex) Telea.
VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Adaptive Terrain Slicing (Stefan Roettger)
Unstructured Volume Rendering Jian Huang, CS 594, Spring 2002 This set of slides reference slides developed by Prof. Torsten Moeller, SFU, Canada.
CMSC 635 Volume Rendering. Volume data  3D Scalar Field: F(x,y,z) = ?  Implicit functions  Voxel grid  Scalar data  Density  Temperature  Wind.
Volume Rendering CMSC 491/635. Volume data  3D Scalar Field: F(x,y,z) = ?  Implicit functions  Voxel grid  Scalar data  Density  Temperature  Wind.
Computer Graphics 2 Lecture 7: Texture Mapping Benjamin Mora 1 University of Wales Swansea Pr. Min Chen Dr. Benjamin Mora.
Boolean Operations on Surfel-Bounded Solids Using Programmable Graphics Hardware Bart AdamsPhilip Dutré Katholieke Universiteit Leuven.
3D Volume Visualization. Volume Graphics  Maintains a 3D image representation that is close to the underlying fully-3D object (but discrete)  경계표면 (Boundary.
CSE554ContouringSlide 1 CSE 554 Lecture 4: Contouring Fall 2015.
Hank Childs, University of Oregon Lecture #10 CIS 410/510: Isosurfacing.
Hank Childs, University of Oregon Volume Rendering, Part 3.
Hank Childs, University of Oregon Volume Rendering, pt 1.
Graphics Interface 2009 The-Kiet Lu Kok-Lim Low Jianmin Zheng 1.
CHAPTER 5 CONTOURING. 5.3 CONTOURING Fig 5.7. Relationship between color banding and contouring Contour line (isoline): the same scalar value, or isovalue.
Visual Appearance Chapter 4 Tomas Akenine-Möller Department of Computer Engineering Chalmers University of Technology.
Real-Time Relief Mapping on Arbitrary Polygonal Surfaces Fabio Policarpo Manuel M. Oliveira Joao L. D. Comba.
CS559: Computer Graphics Final Review Li Zhang Spring 2010.
3-D Information cs5764: Information Visualization Chris North.
Unstructured Volume Rendering. Grid Types uniformrectilinearregularcurvilinear Structured Grids: regularirregularhybridcurved Unstructured Grids:
Image-Based Rendering Geometry and light interaction may be difficult and expensive to model –Think of how hard radiosity is –Imagine the complexity of.
Pre-Integrated Volume Rendering: Past, Present, Future
High-Quality Pre-Integrated Volume Rendering Using Hardware Accelerated Pixel Shading Klaus Engel, Martin Kraus, Thomas Ertl Visualization and Interactive.
CDS 301 Fall, 2008 Domain-Modeling Techniques Chap. 8 November 04, 2008 Jie Zhang Copyright ©
Real-Time Relief Mapping on Arbitrary Polygonal Surfaces Fabio Policarpo Manuel M. Oliveira Joao L. D. Comba.
A novel approach to visualizing dark matter simulations
CIS 410/510: Isosurfacing (pt 2)
Hardware-Based Cell Projection
Volume Rendering Lecture 21.
Real-Time Volume Graphics [06] Local Volume Illumination
Domain-Modeling Techniques
GPGPU: Distance Fields
Hank Childs, University of Oregon
Hank Childs, University of Oregon
Volume Rendering Lecture 21.
Lecture 3 : Isosurface Extraction
Volume Graphics (lecture 4 : Isosurface Extraction)
Plants from Images CS 658.
Presentation transcript:

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Pre-Integrated Splatting (Stefan Roettger) Pre-Integrated Cell Projection Stefan Roettger VIS Group University of Stuttgart Stefan Roettger VIS Group University of Stuttgart

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Pre-Integrated Splatting (Stefan Roettger) Unstructured Volume Rendering Given an irregular volumetric mesh How can the volume be rendered accurately? Obvious: Resampling to regular grid Too heavy: Ray tracing Ray casting Sweep plane algorithms Cell projection

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Pre-Integrated Splatting (Stefan Roettger) Resampling to Regular Grid Hardware-accelerated: Westermann et al. [1] – Use graphics hardware to compute the intersection of a set of tetrahedra with a slice plane. Comparison with software: Weiler et al. [2] – Comparison hardware/software approach. – It turns out that software is not significantly slower than a PC hardware based resampling approach.

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Pre-Integrated Splatting (Stefan Roettger) Ray Tracing Basic Algorithm: – Shoot rays through the volume and integrate the ray integral at each cell intersection in a back to front fashion taking scattering into account. Pros: – Physically based accurate method Cons: – Dependend on view port resolution – Very slow, but can be parallelized

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Pre-Integrated Splatting (Stefan Roettger) Ray Casting Basic algorithm: – Shoot rays through the volume in a front to back fashion and accumulate the ray integral neglecting scattering processes inside the media. Pros: – Faster because of simplified physical model – Early ray termination and space leaping – Runs on every platform Cons: – Dependend on view port size

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Pre-Integrated Splatting (Stefan Roettger) Sweep Plane Algorithms Basic algorithm: – Use a sweep plane to process the cells in a back to front fashion and compose the cells. – E.g. ZSWEEP (Farias et al. [3]) Pros: – Runs on every platform – Easy to parallelize Cons: – Dependent on view port size

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Pre-Integrated Splatting (Stefan Roettger) Splatting Basic algorithm: – Approximate each cell with a volumetric blob and compose the footprints in a back to front fashion. Pros: – Good performance, since footprints can be rendered by the graphics hardware. – Object order method Cons: – Footprint is only an approximation  blurry look

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Pre-Integrated Splatting (Stefan Roettger) Cell Projection „Accurate Splatting“ Basic algorithm: – Sort the cells in a back to front fashion and compose the geometric projections of the cells. Pros: – Hardware-accelerated / Accurate composing – Object order method Cons: – Projection of non-tetrahedral cells is difficult – Topological sort needed

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Pre-Integrated Splatting (Stefan Roettger) The PT Algorithm of Shirley and Tuchman We distinguish between two different non- degenerate classes of projected tetrahedra: "thick vertex" use triangle fanning to render decomposed triangles around thick vertex according to [4]

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Pre-Integrated Splatting (Stefan Roettger) Topological Sorting Numerical (Wittenbrink et al. [5]) – fast but incorrect MPVO (Williams et al. [6]) – sorts convex polyhedra by processing the hidden relationship via a priority queue XMPVO (Silva et al. [7]) BSP-XMPVO (Comba et al. [8]) – constructs external dependencies via BSP-tree MPVOC (Kraus et al. [9]) – extension of MPVO which can handle cycles

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Pre-Integrated Splatting (Stefan Roettger) Optical Model of Williams et al. "Volume Density Optical Model" (Williams et al. [10]) Emission and absorption along each ray segment depends on the scalar function f(x,y,z). The scalar optical density and chromaticity is defined by the transfer functions  (f(x,y,z)) and  (f(x,y,z)).

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Pre-Integrated Splatting (Stefan Roettger) Approximation of Stein et al. Approximation of the ray integral by Stein et al. [11] for linear transfer function  and a constant transfer function  :  =1-exp(-l  ) l=length of ray segment  =average optical density  =(  (S f )+  (S b ))/2

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Pre-Integrated Splatting (Stefan Roettger) Approximation of Stein et al. Put alpha(l,  ) into 2D texture and assign (l,  ) as texture coordinates to projected vertices. Linear interpolation of texture coordinates yields exponentially interpolated opacities.

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Pre-Integrated Splatting (Stefan Roettger) Approximation of Stein et al. Pros: – Hardware-accelerated – 2D texture mapping only – Equivalent to 1D dependent texture today Cons: – Restricted application of transfer functions – Transfer functions cannot be taken into account inside the tetrahadra

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Pre-Integrated Splatting (Stefan Roettger) Pre-Integrated Cell Projection Observation: The ray integral depends only on S f,S b, and l. Pre-compute the three-dimensional ray integral by numerical integration and store it in a 3D texture. Assign appropriate 3D texture coords (S f,S b,l) to each projected vertex and use 3D texture mapping to perform per-pixel exact compositing. This approach is known as Pre-Integration [12]

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Pre-Integrated Splatting (Stefan Roettger) Numerical Pre-Integration The Ray Integral:

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Pre-Integrated Splatting (Stefan Roettger) Numerical Pre-Integration iterate over l iterate over S b iterate over S f chromaticity C 0 =0 transparency T 0 =1 iterate over #steps (i=0...n-1) S=(1-i/(n-1))S b +i/(n-1)S f compute emission=  (S)*l/(n-1) compute absorption=exp(-  (S)*l/(n-1)) C i+1 =C i *absorption+emission T i+1 =T i *absorption Tex3D(S f,S b,l)=(C n-1,1-T n-1 )

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Pre-Integrated Splatting (Stefan Roettger) Pre-Integration Example Simple spherical distance volume rendered with piecewise transparent transfer function. The integrated chromaticity is shown below.

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Pre-Integrated Splatting (Stefan Roettger) Pre-Integrated Cell Projection Pros: – Arbitrary transfer functions can be used – Accuracy only limited by the size of the pre- intgration table – Per-pixel exact rendering – Unshaded isosurfaces with Dirac Delta Cons: – 3D textures not available everywhere – Memory consumption of 3D textures

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Pre-Integrated Splatting (Stefan Roettger) Rendering of Unshaded Isosurfaces Render Isosurfaces with the Dirac Delta as the transfer function -> unshaded isosurfaces Ray integral of three Dirac Deltas with different colors

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Pre-Integrated Splatting (Stefan Roettger) Shaded Isosurfaces Two passes required for shaded isosurfaces First pass: Render lit back faces with left texture. Second pass: Render lit front faces with right texture which contains the correct interpolation factor.

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Pre-Integrated Splatting (Stefan Roettger) Shaded Isosurfaces Multiple shaded isosurfaces extracted simultaneously

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Pre-Integrated Splatting (Stefan Roettger) Mixing with Shaded Isosurfaces Additional third pass for mixed volume and isosurface rendering. Pre-Integration is stopped if an isosurface is encountered to ensure correct mixing.

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Pre-Integrated Splatting (Stefan Roettger) Mixing with Shaded Isosurfaces Multiple shaded isosurfaces mixed with the pre-integrated volume Note that the volume is cut correctly at the isosurfaces.

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Pre-Integrated Splatting (Stefan Roettger) Mixing with Shaded Isosurfaces A Bonsai Tree

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Pre-Integrated Splatting (Stefan Roettger) Reparametrization of the 3D Ray Integral Observation: Rasterized pixels of a tetrahedron lie on a plane in texture coordinate space [13].

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Pre-Integrated Splatting (Stefan Roettger) Reparametrization of the 3D Ray Integral Corresponding tiled 2D texture8 Slices of a 64^3 3D texture TF

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Pre-Integrated Splatting (Stefan Roettger) Separation of the 3D Texture Use the pixel shader on the PC platform to separate the three-dimensional ray integral [14]. Opacity can be separated easily by means of 1D dependent texture lookup for exp() function. linear opacityexponential opacity

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Pre-Integrated Splatting (Stefan Roettger) Separation of the 3D Texture Chromaticity cannot be separated, it can only be approximated: – Construct quadratic polynomial in l through every pair of S f and S b and store the coefficients for RGB in multiple 2D texture maps. – Reconstruct the original color in the pixel shader. n=1n=2

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Pre-Integrated Splatting (Stefan Roettger) Separation of the 3D Texture Pros: – High resolutions possible since only three 2D plus one 1D textures are kept in graphics memory for n=2 – Faster texturing since 3D textures are slow

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Pre-Integrated Splatting (Stefan Roettger) Hardware-Accelerated Pre-Integration Accelerate the numerical integration using graphics hardware to maintain interactive updates of the pre-intgration table [13]. Prerequisite for comfortable exploration of unstructured data sets Basic Idea: Put the transfer function in a 1D texture and compute one slice of the 3D texture for l=const in parallel.

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Pre-Integrated Splatting (Stefan Roettger) Hardware-Accelerated Pre-Integration

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Pre-Integrated Splatting (Stefan Roettger) Hardware-Accelerated Pre-Integration Pros: – Numerical integration takes >1min for a 512x512x64 pre-integration table. – With hardware acceleration update rates of <1s are achieved easily. Cons: – Quantization artifacts but with pixel shader 14 bits [14] -*8 =

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Pre-Integrated Splatting (Stefan Roettger) Application to Cloud Rendering View-dependent simplification of regular volume Screen space error of the simplification is bounded by a user definable threshold. Octree hierarchy is decomposed into tetrahedra

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Pre-Integrated Splatting (Stefan Roettger) Application to Cloud Rendering Clouds generated with 3D Perlin noise Ground fog displayed by stacking prisms onto each triangle that is generated by the C-LOD terrain renderer  avg. 25 fps.

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Pre-Integrated Splatting (Stefan Roettger) Bibliography (1) [1] R. Westermann. The Rendering of Unstructured Grids Revisited. Proc. IEEE VisSym ' [2] M. Weiler and Th. Ertl. Hardware-Software-Balanced Resampling for the Interactive Visualization of Unstructured Grids. Proc. of IEEE Visualization '01, [3] R. Farias, J. Mitchell, and C. Silva. ZSWEEP: An Efficient and Exact Projection Algorithm for Unstructured Volume Rendering. In Proc. IEEE VolVis ' [4] P. Shirley and A. Tuchman. A Polygonal Approximation for Direct Scalar Volume Rendering. In Proc. San Diego Workshop on Volume Visualization, pages 63-70, [5] C. Wittenbrink. CellFast: Interactive Unstructured Volume Rendering. In IEEE Visualization '99 Late Breaking Hot Topics, pages 21-24, [6] P. Williams. Visibility Ordering Meshed Polyhedra. ACM Transactions on Graphics, volume 11(2), pages , [7] C. Silva, J. Mitchell, and P. Williams. An Exact Interactive Time Visibility Ordering Algorithm for Polyhedral Cell Complexes. In Proceedings of the 1998 Symposium on Volume Visualization, pages ACM Press, 1998.

VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Pre-Integrated Splatting (Stefan Roettger) Bibliography (2) [8] J. Comba, J. Klosowski, N. Max, J. Mitchell, C. Silva, and P. Williams. Fast Polyhedral Cell Sorting for Interactive Rendering of Unstructured Grids. Computer Graphics Forum, volume 18(3), pages , [9] M. Kraus and Th. Ertl. Cell-Projection of Cyclic Meshes. Proc. of IEEE Visualization '01, pages , [10] P. Williams and N. Max. A Volume Density Optical Model Workshop on Volume Visualization}, pages , [11] C. Stein, B. Becker, and N. Max. Sorting and Hardware Assisted Rendering for Volume Visualization. In Proc Symposium on Volume Visualization, pages 83-90, [12] S. Roettger, M. Kraus, and Th. Ertl. Hardware-Accelerated Volume and Isosurface Rendering Based on Cell-Projection. In IEEE Proc. Visualization 2000, pages , [13] S. Roettger and Th. Ertl. A Two-Step Approach for Interactive Pre-Integrated Volume Rendering of Unstructured Grids. In Proc. of the 2002 Symposium on Volume Visualization. ACM Press, 2002 (to appear). [14] S. Guthe, S. Roettger, A. Schieber, W. Strasser, and Th. Ertl. High-Quality Unstructured Volume Rendering on the PC Platform. In EG/SIGGRAPH Graphics Hardware Workshop ' (to appear).