Object Space EWA Surface Splatting: A Hardware Accelerated Approach to High Quality Point Rendering Liu Ren Hanspeter Pfister Matthias Zwicker CMU
Motivation Pure Hardware Accelerated + High Quality? [Wolfman Geforce 4 demo] Yes! Point-based graphics needs high quality texture filtering High quality point rendering lacks hardware support GPU performance outpaces CPU
Related Work Software Only Hardware Accelerated w/o texture filtering Point Sample Rendering EURW 98 QSplat Siggraph 00, Point Set Surfaces IEEE Vis 01, Procedural Geometry EURW 01 w/ texture filtering Surfels Siggraph 00, Surface Splatting Siggraph 01, Efficient Surface Splatting EURW 02 Hardware-Oriented Point Rendering EURW 02, Object Space EWA Splatting EG 02
Point-based Surface Representation Surface Element (Surfel) No connectivity No connectivity No texture maps, no normal maps, etc No texture maps, no normal maps, etc x z y 2D reconstruction filter surfel tangent plane normal
Surfel Rendering: Splatting screen spaceobject space y z x surfel reconstruction filter warped reconstruction filter y x warp aliasing
Surfel Rendering: Screen Space EWA Filtering reconstruction filter warp screen space object space screen space resampling filter Elliptical Weighted Average (EWA) filtering EWA Splat = low-pass filter warped reconstruction filter Screen space EWA splatting not supported by graphics hardware. warped reconstruction filter low-pass filter
reconstruction filter Surfel Rendering: Object Space EWA Filtering screen spaceobject space warp Tangent space resampling filter = warped low-pass filter reconstruction filter View dependent filter tangent space resampling filter low-pass filter warped low-pass filter
Hardware Accelerated Point-based Rendering Tangent space resampling filters EWA splats in frame buffer Texture mapping Warped surface texture reconstruction Additive alpha blending surfel tangent plane Textured polygons normal
Challenges No holes, hidden surface splats removal Lack of A-buffer support ? Correct visibility in hardware View dependent Texture or polygon not fixed EWA resampling filter ?
Two Pass Algorithm Overview 1. Visibility splatting Disable frame buffer updates Disable frame buffer updates Render opaque quad for each surfel Render opaque quad for each surfel Generate depth image with a small offset Generate depth image with a small offset 2. Resampling filter splatting Disable Z-buffer updates Disable Z-buffer updates Render textured polygons with additive alpha blending Render textured polygons with additive alpha blending
First Pass: Visibility Splatting Schemes z surface depth image camera space QSplat z surface depth image camera space Object Space EWA occlusion artifacts
Second Pass: Handle View Dependent EWA Resampling filter texture (unit gaussian) surfel polygon with unknown geometry (0,0)(1,0) (0,1)(1,1) match texture mapping textured quad elliptical gaussian (tangent space resampling filter) vertex computation tangent space quad with known geometry
Normalization Issues without normalization varying brightness with normalization no artifacts Per-pixel normalization: Read back data from frame buffer Post-processing scheme Bad for hardware acceleration Per-surfel normalization: Pre-compute the surfel normalization weight Pre-processing scheme Good for hardware acceleration
Demo: Checkerboard on Geforce 4 Ti 4600 Anisotropic Texture Filtering + Accuview /Triangle Mesh Object Space EWA / Points V.S. Object Space EWA Filtering Splatting No Filtering V.S. :
Demo: Surfel Models on ATI Radeon K Surfels Salamander
Demo: Surfel Models on ATI Radeon K Surfels Chameleon
Demo: Surfel Models on ATI Radeon K Surfels Wasp
Demo: Surfel Models on ATI Radeon K Surfels Fiesta
Performance with Phong Shading Data # Points 512 by by by 1024 Geforce 4 Ti 4600 Radeon 9700 Geforce 4 Ti 4600 Radeon K21.1fps 29.0 fps 14.7 fps 24.7 fps 102K 18.6 fps 23.7 fps 9.8 fps 20.6 fps 273K 5.2 fps 8.6 fps 3.7 fps 8.3 fps 352K 4.6 fps 13.6 fps 3.6 fps 8.5 fps
Conclusion New object space formulation of EWA surface splatting Completely hardware accelerated approach with negligible CPU involvement Benefits from GPU performance improvements
Future Work Semitransparent point models View dependent BRDF shading View dependent BRDF shading Animated point models Optimization with upcoming hardware features
Acknowledgments Jessica Hodgins, Paul Heckbert Micheal Doggett, Evan Hart, Jeff Royle Henry Moreton Jennifer Pfister, Wei Li, Wei Chen CMU