Hardware-Accelerated Adaptive EWA Volume Splatting Wei Chen ZJU Liu Ren CMU Matthias Zwicker MIT Hanspeter Pfister MERL.

Slides:



Advertisements
Similar presentations
Point-based Graphics for Estimated Surfaces
Advertisements

Accelerating Real-Time Shading with Reverse Reprojection Caching Diego Nehab 1 Pedro V. Sander 2 Jason Lawrence 3 Natalya Tatarchuk 4 John R. Isidoro 4.
COMPUTER GRAPHICS SOFTWARE.
Photon Mapping on Programmable Graphics Hardware Timothy J. Purcell Mike Cammarano Pat Hanrahan Stanford University Craig Donner Henrik Wann Jensen University.
VIS Group, University of Stuttgart Tutorial T4: Programmable Graphics Hardware for Interactive Visualization Pre-Integrated Splatting (Stefan Roettger)
Object Space EWA Surface Splatting: A Hardware Accelerated Approach to High Quality Point Rendering Liu Ren Hanspeter Pfister Matthias Zwicker CMU.
RealityEngine Graphics Kurt Akeley Silicon Graphics Computer Systems.
Direct Volume Rendering. What is volume rendering? Accumulate information along 1 dimension line through volume.
Topology-Caching for Dynamic Particle Volume Raycasting Jens Orthmann, Maik Keller and Andreas Kolb, University of Siegen.
REAL-TIME VOLUME GRAPHICS Christof Rezk Salama Computer Graphics and Multimedia Group, University of Siegen, Germany Eurographics 2006 Real-Time Volume.
Other DVR Algorithms and A Comparison Jian Huang, CS 594, Spring 2002.
Splatting Jian Huang, CS 594, Spring 2002 This set of slides reference slides made by Ohio State University alumuni over the past several years.
Splatting Josh Anon Advanced Graphics 1/29/02. Types of Rendering Algorithms Backward mapping Image plane mapped into data Ray casting Forward mapping.
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.
Shadow Volumes on Programmable Graphics Hardware Speaker: Alvin Date: 2003/11/3 EUROGRAPHICS 2003.
IN4151 Introduction 3D graphics 1 Introduction to 3D computer graphics part 2 Viewing pipeline Multi-processor implementation GPU architecture GPU algorithms.
Z-Buffer Optimizations Patrick Cozzi Analytical Graphics, Inc.
Memory Efficient Acceleration Structures and Techniques for CPU-based Volume Raycasting of Large Data S. Grimm, S. Bruckner, A. Kanitsar and E. Gröller.
Z-Buffer Optimizations Patrick Cozzi Analytical Graphics, Inc.
Hardware-Assisted Visibility Sorting for Tetrahedral Volume Rendering Steven Callahan Milan Ikits João Comba Cláudio Silva Steven Callahan Milan Ikits.
Volume Rendering & Shear-Warp Factorization Joe Zadeh January 22, 2002 CS395 - Advanced Graphics.
Status – Week 260 Victor Moya. Summary shSim. shSim. GPU design. GPU design. Future Work. Future Work. Rumors and News. Rumors and News. Imagine. Imagine.
Volume Rendering using Graphics Hardware
GPU Graphics Processing Unit. Graphics Pipeline Scene Transformations Lighting & Shading ViewingTransformations Rasterization GPUs evolved as hardware.
Realtime 3D Computer Graphics Computer Graphics Computer Graphics Software & Hardware Rendering Software & Hardware Rendering 3D APIs 3D APIs Pixel & Vertex.
Computer graphics & visualization Point-Based Computer Graphics.
Ray Tracing and Photon Mapping on GPUs Tim PurcellStanford / NVIDIA.
Rendering hair with graphics hardware Tae-Yong Kim Rhythm & Hues Studios
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.
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,
Interactive Time-Dependent Tone Mapping Using Programmable Graphics Hardware Nolan GoodnightGreg HumphreysCliff WoolleyRui Wang University of Virginia.
Surfels : Surface Elements as Rendering Primitives Hanspeter Pfister Matthias Zwicker Jeroen van Baar Markus Gross Presented by Kevin Reed.
Stream Processing Main References: “Comparing Reyes and OpenGL on a Stream Architecture”, 2002 “Polygon Rendering on a Stream Architecture”, 2000 Department.
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.
Tone Mapping on GPUs Cliff Woolley University of Virginia Slides courtesy Nolan Goodnight.
GRAPHICS PIPELINE & SHADERS SET09115 Intro to Graphics Programming.
Rendering Fake Soft Shadows with Smoothies Eric Chan Massachusetts Institute of Technology.
Hardware-accelerated Rendering of Antialiased Shadows With Shadow Maps Stefan Brabec and Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken,
Boolean Operations on Surfel-Bounded Solids Using Programmable Graphics Hardware Bart AdamsPhilip Dutré Katholieke Universiteit Leuven.
Sample Based Visibility for Soft Shadows using Alias-free Shadow Maps Erik Sintorn – Ulf Assarsson – uffe.
Computer Graphics II University of Illinois at Chicago Volume Rendering Presentation for Computer Graphics II Prof. Andy Johnson By Raj Vikram Singh.
03/15/03© 2005 University of Wisconsin Where We’ve Been Photo-realistic rendering –Accurate modeling and rendering of light transport and surface reflectance.
04/23/03© 2003 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
Based on paper by: Rahul Khardekar, Sara McMains Mechanical Engineering University of California, Berkeley ASME 2006 International Design Engineering Technical.
Motivation Properties of real data sets Surface like structures
Single Pass Point Rendering and Transparent Shading Paper by Yanci Zhang and Renato Pajarola Presentation by Harmen de Weerd and Hedde Bosman.
3/16/04James R. McGirr1 Interactive Rendering of Large Volume Data Sets Written By : Stefan Guthe Michael Wand Julius Gonser Wolfgang Straβer University.
CSCI 440.  So far we have learned how to  build shapes  create movement  change views  add simple lights  But, our objects still look very cartoonish.
From Turing Machine to Global Illumination Chun-Fa Chang National Taiwan Normal University.
Shadows David Luebke University of Virginia. Shadows An important visual cue, traditionally hard to do in real-time rendering Outline: –Notation –Planar.
Ray Tracing by GPU Ming Ouhyoung. Outline Introduction Graphics Hardware Streaming Ray Tracing Discussion.
Radiance Cache Splatting: A GPU-Friendly Global Illumination Algorithm P. Gautron J. Křivánek K. Bouatouch S. Pattanaik.
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.
Siggraph 2009 RenderAnts: Interactive REYES Rendering on GPUs Kun Zhou Qiming Hou Zhong Ren Minmin Gong Xin Sun Baining Guo JAEHYUN CHO.
Volume Rendering (3) Hardware Texture Mapping Methods.
Real-Time Soft Shadows with Adaptive Light Source Sampling
Graphics Processing Unit
Deferred Lighting.
From Turing Machine to Global Illumination
Volume Rendering Lecture 21.
Static Image Filtering on Commodity Graphics Processors
Graphics Processing Unit
Introduction to Computer Graphics
Ray Tracing on Programmable Graphics Hardware
RADEON™ 9700 Architecture and 3D Performance
Presentation transcript:

Hardware-Accelerated Adaptive EWA Volume Splatting Wei Chen ZJU Liu Ren CMU Matthias Zwicker MIT Hanspeter Pfister MERL

2 Volume Splatting Object-order method 3D reconstruction kernel centered at each voxel (elliptical Gaussian) Voxel contribution = 2D footprint (color, opacity) Weighted footprints accumulated into image Voxel kernels Screen 2D footprints = splats

3 Speed Quality Software Texture splats Axis-aligned EWA Swan Image-aligned Fast splats OpenGL ex Westover1989 Crawfis 1993 Swan 1997 Mueller 1999 Huang 2000 Zwicker 2001 Xue 2003 Related Work Our work

4 Outline EWA volume splatting Adaptive EWA splatting GPU implementation Results and conclusions

5 EWA Volume Splatting Compensate aliasing artifacts due to perspective projection EWA Filter = low-pass filter warped reconstruction filter W Volume Low-Pass Filter EWA volume resampling filter Projection Convolution

6 EWA Volume Splatting (512x512x3) Reconstruction filter only: 6.25 fps EWA filter: 4.97 fps Low-pass filter only: 6.14 fps EWA filter: 3.79 fps

7 Analysis of EWA Filter Warped recon- struction kernel Low-pass filter Resampling filter Minification Magnification

8 Analysis of EWA Filter Shape of EWA Splat is dependent on distance from the view plane r k Reconstruction filter radius u 2 Distance to the view plane r h Low-pass filter radius EWA splat Note that

9 Adaptive EWA Filtering Warped recon- struction kernel Low-pass filter Resampling filter if u 2 > A use low-pass filter if u 2 < B use reconstruction filter if A<u 2 < B use EWA filter

10 Patch Processing Process a 8 x 8 patch of voxels at a time Filter selection based on four corners of each patch (choose smallest) Traversal order Patch Distance

11 Adaptive EWA Volume Splatting (512x512x3) Adaptive EWA filter: 6.88 fps EWA filter: 4.83 fps Adaptive EWA filter: 1.84 fps EWA filter: 1.75 fps

12 Outline EWA volume splatting Adaptive EWA splatting  GPU implementation Results and conclusions

13 Object-Space EWA Splatting Object-space EWA splatting with texture mapping [Ren et al. Eurographics 2002] Texture (unit Gaussian) Unit quad (0,0)(1,0) (0,1) (1,1) EWA Splat (elliptical Gaussian) Projection Texture mapping Textured quad Vertex shader computation

14 Proxy Geometry Template Rectilinear volumes: use one proxy geometry template for all slices in each direction Store vertex indices in AGP memory... Regularity Voxel geometry Proxy geometry template Quad geometry

15 Vertex Compression Compress each vertex to 32 bits Decompression on-the-fly in programmable hardware To store vertex information of 256x256x256 volume in video memory Without compression 2,048 MBytes  With compression 12 MBytes Retained-mode hardware acceleration feasible

16 Retained vs. Immediate Mode Data#Total Splats #Rendered Splats Immediate Mode Retained Mode Bonsai fps7.53 fps Engine fps10.28 fps Lobster fps10.60 fps Head fps2.86 fps Factor of ~10 improvement

17 Interactive Classification: Opacity Culling Hardware-accelerated list-based traversal For each slice For each 32 x 32 patch of voxels (smaller indices) Indices of proxy geometry organized into iso-value lists using bucket sort; CPU merges lists on-line Render only iso-value lists with visible voxels Patch

18 Interactive Classification: Opacity Culling DataList-based opacity culling Standard opacity culling Head2.80 fps0.3 fps Engine10.18 fps0.8 fps Bonsai7.23 fps0.8 fps Lobster10.30 fps1.1 fps Includes changes to TF every frame Factor of ~10 improvement

19 Deferred Shading Volume texture access is only possible in fragment programs * However, per fragment shading is expensive Solution: deferred shading in two passes * Newer GPUs allow texture access in vertex programs

20 Deferred Shading Pass one: 3D texture access, classification and illumination in vertex shader, render one pixel per voxel Pass two: reuse the pixel data from the first pass to shade the 2D footprint Performance gain: 5%-10% speedup Pass one Pass two Final result

21 Experiments P4 2.4 GHz ATI 9800 Pro with 256 MB RAM Direct3D 9.0b with VS 2.0 and PS 2.0 TypeEWAReconstruction OnlyLow-pass Only Regular Rectilinear Vertex shader instructions

22 Sheet-buffer Composition Axis-aligned traversal, addition in sheet buffers, then blending front-to-back 0.80 fps 3.00 fps 3.45 fps

23 UNC Head: 208x256x fps #Rendered splats: 2,955, M splats / sec

24 Bonsai: 256x256x fps #Rendered splats: 274,866 2M splats / sec

25 Engine: 256x256x fps #Rendered splats: 247, M splats / sec

26 Lobster: 301x324x fps #Rendered splats: 555, M splats / sec

Video

28 Our Contributions Adaptive EWA computation Volume data compression Retained-mode hardware acceleration Interactive opacity culling Deferred two-pass shading

29 Future Work Image-aligned EWA volume splatting Irregular volume splatting Pointsprites in OpenGL Floating point textures Vertex texture for classification

30 Acknowledgementshttp://graphics.cs.cmu.edu/projects/adpewa/index.html Jessica Hodgins (CMU) Markus Gross (ETH)