1 / 30

Hardware-Accelerated Adaptive EWA Volume Splatting

Hardware-Accelerated Adaptive EWA Volume Splatting. Wei Chen ZJU Liu Ren CMU Matthias Zwicker MIT Hanspeter Pfister MERL. Volume Splatting. Object-order method 3D reconstruction kernel centered at each voxel (elliptical Gaussian)

paul
Download Presentation

Hardware-Accelerated Adaptive EWA Volume Splatting

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

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

More Related