Date post: | 26-Mar-2015 |
Category: |
Documents |
Upload: | emma-romero |
View: | 215 times |
Download: | 1 times |
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
2 Point-based Graphics for Estimated Surfaces
Project Motivation
Multi-projector display systemRequired for image correction:
projector calibrationdisplay surface representationviewing location
Surface estimation produces points
3 Point-based Graphics for Estimated Surfaces
Outline
Surface SplatsSub-sampling point-cloudsReal-time surface splat renderingApplication to projective displays
4 Point-based Graphics for Estimated Surfaces
Surface Splats
Point-based No connectivityCircular
center – c ={x,y,z}normal – n = {x,y,z}radius - r
Ellipticalreplace r with major, minor axes a and b
5 Point-based Graphics for Estimated Surfaces
Sub-sampling Point-clouds
Produce a set of circular surface splats from a set of pointsBased on [Wu J., Kobbelt L., “Optimized Sub-sampling of Point Sets for Surface Splatting”]
6 Point-based Graphics for Estimated Surfaces
Sub-sampling Point-cloudsCreate initial set of splatsAt 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
7 Point-based Graphics for Estimated Surfaces
Sub-sampling Point-clouds
Greedy selection of splats until model is closed.
Splat selection based on surface areaModel closed when all points covered by a splat
8 Point-based Graphics for Estimated Surfaces
Examples
≈93,000 points sampled from triangle mesh → 41,000 circular surface splats
9 Point-based Graphics for Estimated Surfaces
Examples
≈94,000 points sampled from triangle mesh → 34,000 circular surface splats
10 Point-based Graphics for Estimated Surfaces
Examples
Radii decreased to illustrate underlying splat representation.
11 Point-based Graphics for Estimated Surfaces
Rendering Surface Splats
Three-pass algorithm on the GPUVisibility Pass – Fill depth bufferAttribute Pass – Splat material propertiesLighting Pass – Normalization and lighting
[Botsch M., Hornung A., Zwicker M., Kobbelt L., “High-Quality Surface Splatting on Today’s GPUs”]
12 Point-based Graphics for Estimated Surfaces
Visibility Pass
Send all splats down the pipeline as pointsFill 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 3D point on splat surface in eye space pe
• if pe is within radius of splat, output transformed depth of pe
13 Point-based Graphics for Estimated Surfaces
Attribute Pass
Send all splats down the pipeline againSplat 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
14 Point-based Graphics for Estimated Surfaces
Lighting Pass
Render full-screen quad to generate fragmentsNormalization and lighting
vp• nothing
fp• divide accumulated color and normal by total
weight• use depth texture to reconstruct 3D point• calc per-pixel lighting
15 Point-based Graphics for Estimated Surfaces
Application to Projective Display
Display surface Estimation
16 Point-based Graphics for Estimated Surfaces
Application to Projective Display
RenderingProjective texturing• perform in attribute pass to determine color• must also invert viewing transform
Video
17 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 surfacesLack of connectivity may be advantageous in continuous surface estimation