Download presentation

1
**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
**Project Motivation Multi-projector display system**

Required for image correction: projector calibration display surface representation viewing location Surface estimation produces points

3
**Outline Surface Splats Sub-sampling point-clouds**

Real-time surface splat rendering Application to projective displays

4
**Surface Splats Point-based No connectivity Circular Elliptical**

center – c ={x,y,z} normal – n = {x,y,z} radius - r Elliptical replace r with major, minor axes a and b

5
**Sub-sampling Point-clouds**

Produce a set of circular surface splats from a set of points Based on [Wu J., Kobbelt L., “Optimized Sub-sampling of Point Sets for Surface Splatting”]

6
**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

7
**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

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

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

10
**Radii decreased to illustrate underlying splat representation.**

Examples Radii decreased to illustrate underlying splat representation.

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

12
**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 3D point on splat surface in eye space pe if pe is within radius of splat, output transformed depth of pe

13
**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

14
**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 3D point calc per-pixel lighting

15
**Application to Projective Display**

Display surface Estimation

16
**Application to Projective Display**

Rendering Projective texturing perform in attribute pass to determine color must also invert viewing transform Video

17
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

Similar presentations

OK

CSE 690: GPGPU Lecture 6: Cg Tutorial Klaus Mueller Computer Science, Stony Brook University.

CSE 690: GPGPU Lecture 6: Cg Tutorial Klaus Mueller Computer Science, Stony Brook University.

© 2018 SlidePlayer.com Inc.

All rights reserved.

To make this website work, we log user data and share it with processors. To use this website, you must agree to our Privacy Policy, including cookie policy.

Ads by Google