point-based graphics for estimated surfaces tyler johnson department of computer science university...

17
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

Upload: emma-romero

Post on 26-Mar-2015

215 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Point-based Graphics for Estimated Surfaces Tyler Johnson Department of Computer Science University of North Carolina at Chapel Hill COMP 236 Final Project

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

Page 2: Point-based Graphics for Estimated Surfaces Tyler Johnson Department of Computer Science University of North Carolina at Chapel Hill COMP 236 Final Project

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

Page 3: Point-based Graphics for Estimated Surfaces Tyler Johnson Department of Computer Science University of North Carolina at Chapel Hill COMP 236 Final Project

3 Point-based Graphics for Estimated Surfaces

Outline

Surface SplatsSub-sampling point-cloudsReal-time surface splat renderingApplication to projective displays

Page 4: Point-based Graphics for Estimated Surfaces Tyler Johnson Department of Computer Science University of North Carolina at Chapel Hill COMP 236 Final Project

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

Page 5: Point-based Graphics for Estimated Surfaces Tyler Johnson Department of Computer Science University of North Carolina at Chapel Hill COMP 236 Final Project

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”]

Page 6: Point-based Graphics for Estimated Surfaces Tyler Johnson Department of Computer Science University of North Carolina at Chapel Hill COMP 236 Final Project

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

Page 7: Point-based Graphics for Estimated Surfaces Tyler Johnson Department of Computer Science University of North Carolina at Chapel Hill COMP 236 Final Project

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

Page 8: Point-based Graphics for Estimated Surfaces Tyler Johnson Department of Computer Science University of North Carolina at Chapel Hill COMP 236 Final Project

8 Point-based Graphics for Estimated Surfaces

Examples

≈93,000 points sampled from triangle mesh → 41,000 circular surface splats

Page 9: Point-based Graphics for Estimated Surfaces Tyler Johnson Department of Computer Science University of North Carolina at Chapel Hill COMP 236 Final Project

9 Point-based Graphics for Estimated Surfaces

Examples

≈94,000 points sampled from triangle mesh → 34,000 circular surface splats

Page 10: Point-based Graphics for Estimated Surfaces Tyler Johnson Department of Computer Science University of North Carolina at Chapel Hill COMP 236 Final Project

10 Point-based Graphics for Estimated Surfaces

Examples

Radii decreased to illustrate underlying splat representation.

Page 11: Point-based Graphics for Estimated Surfaces Tyler Johnson Department of Computer Science University of North Carolina at Chapel Hill COMP 236 Final Project

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”]

Page 12: Point-based Graphics for Estimated Surfaces Tyler Johnson Department of Computer Science University of North Carolina at Chapel Hill COMP 236 Final Project

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

Page 13: Point-based Graphics for Estimated Surfaces Tyler Johnson Department of Computer Science University of North Carolina at Chapel Hill COMP 236 Final Project

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

Page 14: Point-based Graphics for Estimated Surfaces Tyler Johnson Department of Computer Science University of North Carolina at Chapel Hill COMP 236 Final Project

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

Page 15: Point-based Graphics for Estimated Surfaces Tyler Johnson Department of Computer Science University of North Carolina at Chapel Hill COMP 236 Final Project

15 Point-based Graphics for Estimated Surfaces

Application to Projective Display

Display surface Estimation

Page 16: Point-based Graphics for Estimated Surfaces Tyler Johnson Department of Computer Science University of North Carolina at Chapel Hill COMP 236 Final Project

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

Page 17: Point-based Graphics for Estimated Surfaces Tyler Johnson Department of Computer Science University of North Carolina at Chapel Hill COMP 236 Final Project

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