Pointbased Graphics for Estimated Surfaces Tyler Johnson Department
Point-based Graphics for Estimated Surfaces Tyler Johnson Department of Computer Science University of North Carolina at Chapel Hill COMP 236 Final Project Presentation – Spring, 2006
Project Motivation Multi-projector display system Required for image correction: projector calibration display surface representation viewing location Surface estimation produces points 2 Point-based Graphics for Estimated Surfaces
Outline Surface Splats Sub-sampling point-clouds Real-time surface splat rendering Application to projective displays 3 Point-based Graphics for Estimated Surfaces
Surface Splats Point-based No connectivity Circular center – c ={x, y, z} normal – n = {x, y, z} radius - r Elliptical replace r with major, minor axes a and b 4 Point-based Graphics for Estimated Surfaces
Sub-sampling Point-clouds Produce a set of circular surface splats from a set of points Based on [Wu J. , Kobbelt L. , “Optimized Subsampling of Point Sets for Surface Splatting”] 5 Point-based Graphics for Estimated Surfaces
Sub-sampling Point-clouds Create initial set of splats At each point pi Create new splat si with center pi Find G = {k nearest neighbors of pi} Fit least squares plane to find normal of si Determine r by growing si to include points in G until global error tolerance is reached 6 Point-based Graphics for Estimated Surfaces
Sub-sampling Point-clouds Greedy selection of splats until model is closed. Splat selection based on surface area Model closed when all points covered by a splat 7 Point-based Graphics for Estimated Surfaces
Examples ≈93, 000 points sampled from triangle mesh → 41, 000 circular surface splats 8 Point-based Graphics for Estimated Surfaces
Examples ≈94, 000 points sampled from triangle mesh → 34, 000 circular surface splats 9 Point-based Graphics for Estimated Surfaces
Examples Radii decreased to illustrate underlying splat representation. 10 Point-based Graphics for Estimated Surfaces
Rendering Surface Splats Three-pass algorithm on the GPU Visibility Pass – Fill depth buffer Attribute Pass – Splat material properties Lighting Pass – Normalization and lighting [Botsch M. , Hornung A. , Zwicker M. , Kobbelt L. , “High-Quality Surface Splatting on Today’s GPUs”] 11 Point-based Graphics for Estimated Surfaces
Visibility Pass Send all splats down the pipeline as points Fill depth buffer vertex program • calc splat size in screen-space, generate fragments fp • invert viewport transform → point on near plane pn • use pn to reconstruct 3 D point on splat surface in eye space pe • if pe is within radius of splat, output transformed depth of pe 12 Point-based Graphics for Estimated Surfaces
Attribute Pass Send all splats down the pipeline again Splat material properties vp • calc splat size in screen-space, generate fragments fp • reconstruct pe on the surface of the splat as in visibility pass • weight normal and color of splat with kernel at splat center • add weighted normal and color to separate accumulation textures • output transformed depth of pe minus depth offset 13 Point-based Graphics for Estimated Surfaces
Lighting Pass Render full-screen quad to generate fragments Normalization and lighting vp • nothing fp • divide accumulated color and normal by total weight • use depth texture to reconstruct 3 D point • calc per-pixel lighting 14 Point-based Graphics for Estimated Surfaces
Application to Projective Display surface Estimation 15 Point-based Graphics for Estimated Surfaces
Application to Projective Display Rendering Projective texturing • perform in attribute pass to determine color • must also invert viewing transform Video 16 Point-based Graphics for Estimated Surfaces
Conclusions Surface splat representations suffer from many of the same problems as polygon meshes holes, insufficient sampling etc. Local least-squares fitting may reduce noise in estimating planar surfaces Lack of connectivity may be advantageous in continuous surface estimation 17 Point-based Graphics for Estimated Surfaces
- Slides: 17