Hardware-Accelerated Adaptive EWA Volume Splatting - PowerPoint PPT Presentation

paul
hardware accelerated adaptive ewa volume splatting n.
Skip this Video
Loading SlideShow in 5 Seconds..
Hardware-Accelerated Adaptive EWA Volume Splatting PowerPoint Presentation
Download Presentation
Hardware-Accelerated Adaptive EWA Volume Splatting

play fullscreen
1 / 30
Download Presentation
Hardware-Accelerated Adaptive EWA Volume Splatting
276 Views
Download Presentation

Hardware-Accelerated Adaptive EWA Volume Splatting

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. 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 2D footprints = splats Screen Voxel kernels

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

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

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

  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 Minification Warped recon- struction kernel Low-pass filter Resampling filter Magnification

  8. Analysis of EWA Filter • Shape of EWA Splat is dependent on distance from the view plane rh Low-pass filter radius rk Reconstruction filter radius EWA splat u2 Distance to the view plane Note that

  9. Adaptive EWA Filtering Warped recon- struction kernel Low-pass filter Resampling filter if u2 > A use low-pass filter if A<u2< B use EWA filter if u2< Buse reconstruction 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 Projection Vertex shader computation Texturemapping Textured quad • Object-space EWA splatting with texture mapping [Ren et al. Eurographics 2002] EWA Splat (elliptical Gaussian) Texture (unit Gaussian) (1,1) (0,1) (0,0) (1,0) Unit quad

  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 Quad geometry Proxy geometry template

  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 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 0 128 Patch 256

  18. Interactive Classification: Opacity Culling 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 Vertex shader instructions

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

  23. UNC Head: 208x256x225 #Rendered splats: 2,955,242 2.86 fps 8.5M splats / sec

  24. Bonsai: 256x256x128 #Rendered splats: 274,866 7.53 fps 2M splats / sec

  25. Engine: 256x256x110 #Rendered splats: 247,577 10.28 fps 2.5M splats / sec

  26. Lobster: 301x324x56 #Rendered splats: 555,976 10.60 fps 5.9M splats / sec

  27. 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. Acknowledgements • Jessica Hodgins (CMU) • Markus Gross (ETH) http://graphics.cs.cmu.edu/projects/adpewa/index.html