EUROGRAPHICS 2002

Tutorial T6: Point Based Computer Graphics

M. Gross, ETH Zürich H. Pfister, MERL, Cambridge M. Zwicker, ETH Zürich M. Pauly, ETH Zürich M. Stamminger, Bauhaus Universität Weimar M. Alexa, Technische Universität Darmstadt, GRIS

Published by The Eurographics Association ISSN 1017-4565

The European Association for Computer Graphics 23rd Annual Conference

EUROGRAPHICS 2002

Saarbrücken, September 2–6, 2002

Organized by E R S V I T I

 A

N

¯ ¬ ¬ ¨ ¯ S

U

S

© S A I R S A N INFORMATIK V I E EUROGRAPHICS Max-Planck-Institut Universität des Saarlandes Germany THE EUROPEAN ASSOCIATION für Informatik FOR COMPUTER GRAPHICS Saarbrücken, Germany

International Programme Committee Chairs George Drettakis (France) Hans-Peter Seidel (Germany)

Conference Co-Chairs Honorary Conference Co-Chairs Frits Post (The Netherlands) Jose Encarnação (Germany) Dietmar Saupe (Germany) Wolfgang Straßer (Germany)

Tutorial Chairs STAR Report Chairs Sabine Coquillart (France) Dieter Fellner (Germany) Heinrich Müller (Germany) Roberto Scopignio (Italy)

Lab Presentation Chairs Industrial Seminar Chairs Günther Greiner (Germany) Thomas Ertl (Germany) Werner Purgathofer (Austria) Bernd Kehrer (Germany)

Günter Enderle Award Committee Chair Conference Game Chair François Sillion (France) Nigel W. John (UK)

John Lansdown Award Chair Conference Director Huw Jones (UK) Christoph Storb (Germany)

Short/Poster Presentation Chairs Local Organization Isabel Navazo (Spain) Annette Scheel (Germany) Philipp Slusallek (Germany) Hartmut Schirmacher (Germany)

Point-Based Computer Graphics

Eurographics 2002 Tutorial T6

Organizers

Markus Gross ETH Zürich

Hanspeter Pfister MERL, Cambridge

Presenters

Marc Alexa TU Darmstadt

Markus Gross ETH Zürich

Mark Pauly ETH Zürich

Hanspeter Pfister MERL, Cambridge

Marc Stamminger Bauhaus-Universität Weimar

Matthias Zwicker ETH Zürich Contents Tutorial Schedule...... 2 Presenters Biographies...... 3 Presenters Contact Information ...... 4 References...... 5 Project Pages...... 6

Tutorial Schedule 8:30-8:45 Introduction (M. Gross) 8:45-9:45 Point Rendering (M. Zwicker) 9:45-10:00 Acquisition of Point-Sampled Geometry and Appearance I (H. Pfister)

10:00-10:30 Coffee Break

10:30-11:15 Acquisition of Point-Sampled Geometry and Appearance II (H. Pfister) 11:15-12:00 Dynamic Point Sampling (M. Stamminger)

12:00-14:00 Lunch

14:00-15:00 Point-Based Surface Representations (M. Alexa) 15:00-15:30 Spectral Processing of Point-Sampled Geometry (M. Gross)

15:30-16:00 Coffee Break

16:00-16:30 Efficient Simplification of Point-Sampled Geometry (M. Pauly) 16:30-17:15 Pointshop3D: An Interactive System for Point-Based Surface Editing (M. Pauly) 17:15-17:30 Discussion (all)

2 Presenters Biographies Dr. Markus Gross is a professor of computer science and the director of the computer graphics laboratory of the Swiss Federal Institute of Technology (ETH) in Zürich. He received a degree in electrical and computer engineering and a Ph.D. on computer graphics and image analysis, both from the University of Saarbrucken, Germany. From 1990 to 1994 Dr. Gross was with the Computer Graphics Center in Darmstadt, where he established and directed the Visual Computing Group. His research interests include physics-based modeling, point based methods and multiresolution analysis. He has widely published and lectured on computer graphics and scientific visualization and he authored the book "Visual Computing", Springer, 1994. Dr. Gross has taught courses at major graphics conferences including SIGGRAPH, IEEE Visualization, and Eurographics. He is associate editor of the IEEE Computer Graphics and Applications and has served as a member of international program committees of major graphics conferences. Dr. Gross was a papers co-chair of the IEEE Visualization '99 and Eurographics 2000 conferences.

Dr. Hanspeter Pfister is Associate Director and Senior Research Scientist at MERL - Mitsubishi Electric Research Laboratories - in Cambridge, MA. He is the chief architect of VolumePro, Mitsubishi Electric's real-time volume rendering hardware for PCs. His research interests include computer graphics, scientific visualization, and computer architecture. His work spans a range of topics, including point-based rendering and modeling, 3D scanning, and computer graphics hardware. Hanspeter Pfister received his Ph.D. in Computer Science in 1996 from the State University of New York at Stony Brook. He received his M.S. in Electrical Engineering from the Swiss Federal Institute of Technology (ETH) Zurich, , in 1991. He is Associate Editor of the IEEE Transactions on Visualization and Computer Graphics (TVCG), member of the Executive Committee of the IEEE Technical Committee on Graphics and Visualization (TCVG), and member of the ACM, ACM SIGGRAPH, IEEE, the IEEE Computer Society, and the Eurographics Association.

Mark Pauly is currently a PhD student at the Computer Graphics Lab at ETH Zurich, Switzerland. He is working on point-based surface representations for 3D digital geometry processing, focusing on spectral methods for surface filtering and resampling. Further research activities are directed towards multiresolution modeling, geometry compression and texture synthesis of point-sampled objects.

Dr. Marc Stamminger received his PhD in computer graphics in 1999 from the University of Erlangen, Germany, for his work about finite element methods for global illumination computations. After that he worked at the Max-Planck-Institut for Computer Science (MPII) in Saarbrücken, Germany, where he headed the global illumination group. As a PostDoc in Sophia-Antipolis in France he worked on the interactive rendering and modeling of natural environments. Since 2001 he is an assistant professor at the Bauhaus-University in Weimar. His current research interests are point-based methods for complex, dynamic scenes, and interactive global illumination methods.

Matthias Zwicker is in his last year of the PhD program at the Computer Graphics Lab at ETH Zurich, Switzerland. He has developed rendering algorithms and data

3 structures for point-based surface representations, which he presented in the papers sessions of SIGGRAPH 2000 and 2001. He has also extended this work towards high quality volume rendering. Other research interests concern compression of point-based data structures, acquisition of real world objects, and texturing of point-sampled surfaces.

Dr. Marc Alexa leads the project group “3d Graphics Computing” within the Interactive Graphics System Group, TU Darmstadt. He received his PhD and MS degrees in Computer Science with honors from TU Darmstadt. His research interests include shape modeling, transformation and animation as well as conversational user interfaces and information visualization.

Presenters Contact Information Dr. Markus Gross Professor Department of Computer Science Swiss Federal Institute of Technology (ETH) CH 8092 Zürich Switzerland Phone: +41 1 632 7114 FAX: +41 1 632 1596 [email protected] http://graphics.ethz.ch

Dr. Hanspeter Pfister Associate Director MERL - A Mitsubishi Electric Research Lab 201 Broadway Cambridge, MA 02139 USA Phone: (617) 621-7566 Fax: (617) 621-7550 [email protected] http://www.merl.com/people/pfister/

Matthias Zwicker Department of Computer Science Swiss Federal Institute of Technology (ETH) CH 8092 Zürich Switzerland Phone: +41 1 632 7437 FAX: +41 1 632 1596 [email protected] http://graphics.ethz.ch

Mark Pauly Department of Computer Science Swiss Federal Institute of Technology (ETH) CH 8092 Zürich

4 Switzerland Phone: +41 1 632 0906 FAX: +41 1 632 1596 [email protected] http://graphics.ethz.ch

Dr. Marc Stamminger Bauhaus-Universität Weimar Bauhausstr. 11 99423 Weimar Germany Phone: +49 3643 583733 FAX: +49 3643 583709 [email protected]

Dr. Marc Alexa Interactive Graphics Systems Group Technische Universität Darmstadt Fraunhoferstr. 5 64283 Darmstadt Germany Phone: +49 6151 155 674 FAX: +49 6151 155 669 [email protected] http://www.igd.fhg.de/~alexa

References M. Alexa, J. Behr, D. Cohen-Or, S. Fleishman, D. Levin, C. Silva. Point set surfaces. Proceedings of IEEE Visualization 2001, p. 21-28, San Diego, CA, October 2001.

O. Deussen, C. Colditz, M. Stamminger, G. Drettakis, Interactive visualization of complex plant ecosystems. Proceedings of IEEE Visualization 2002, to appear, Boston, MA, October 2002.

W. Matusik, H. Pfister, P. Beardsley, A. Ngan, R. Ziegler, L. McMillan, Image- based 3D photography using opacity hulls. Proceedings of SIGGRAPH 2002, to appear, San Antonio, TX, July 2002.

W. Matusik, H. Pfister, A. Ngan, R. Ziegler, L. McMillan, Acquisition and rendering of transparent and refractive objects. Thirteenth Eurographics Workshop on Rendering, to appear, Pisa, Italy, June 2002.

M. Pauly, M. Gross, Spectral processing of point-sampled geometry. Proceedings of SIGGRAPH 2001, p. 379-386, Los Angeles, CA, August 2001.

M. Pauly, M. Gross, Efficient Simplification of Point-Sampled Surfaces. IEEE Proceedings of Visualization 2002, to appear, Boston, MA, October 2002.

5 H. Pfister, M. Zwicker, J. van Baar, M. Gross, Surfels - surface elements as rendering primitives. Proceedings of SIGGRAPH 2000, p. 335-342, New Orleans, LS, July 2000.

M. Stamminger, G. Drettakis, Interactive sampling and rendering for complex and procedural geometry, Rendering Techniques 2001, Proceedings of the Eurographics Workshop on Rendering 2001, June 2001.

L. Ren, H. Pfister, M. Zwicker, Object space EWA splatting: a hardware accelerated approach to high quality point rendering. Proceedings of the Eurographics 2002, to appear, Saarbrücken, Germany, September 2002.

M. Zwicker, H. Pfister, J. van Baar, M. Gross, EWA volume splatting. Proceedings of IEEE Visualization 2001, p. 29-36, San Diego, CA, October 2001.

M. Zwicker, H. Pfister, J. van Baar, M. Gross, Surface splatting. Proceedings of SIGGRAPH 2001, p. 371-378, Los Angeles, CA, August 2001.

M. Zwicker, H. Pfister, J. van Baar, M. Gross, EWA splatting. IEEE Transactions on Visualization and Computer Graphics, to appear.

M. Zwicker, M. Pauly, O. Knoll, M. Gross, Pointshop 3D: an interactive system for point-based surface editing. Proceedings of SIGGRAPH 2002, to appear, San Antonio, TX, July 2002

Project Pages • Rendering http://graphics.ethz.ch/surfels • Acquisition http://www.merl.com/projects/3Dimages/ • Dynamic sampling http://www-sop.inria.fr/reves/personnel/Marc.Stamminger/pbr.html • Processing, sampling and filtering http://graphics.ethz.ch/points • Pointshop3D http://www.pointshop3d.com

6 Surf. Reps. for Graphics

Point-Based Computer Graphics Hierarchical splines Raise degree Wavelets Eurographics 2002 Tutorial T6

Mesh processing Discrete (point based) Marc Alexa, Markus Gross, methods representations

Mark Pauly, Hanspeter Pfister, Subdivision schemes Add connectivity Marc Stamminger, Matthias Zwicker Add operators

Triangle meshes

2

Polynomials... Polynomials -> Triangles

• Piecewise linear approximations 9 Rigorous mathematical concept • Irregular sampling of the surface 9 Robust evaluation of geometric entities • Forget about parameterization 9 Shape control for smooth shapes 9 Advanced physically-based modeling

2 Require parameterization Triangle meshes 2 Discontinuity modeling 2 Topological flexibility • Multiresolution modeling • Compression Refine h rather than p ! • Geometric signal processing 3 4

Triangles... Triangles -> Points

• From piecewise linear functions to 9 Simple and efficient representation Delta distributions 9 Hardware pipelines support ∆ 9 Advanced geometric processing is being in sight • Forget about connectivity 9 The widely accepted queen of graphics primitives

2 Sophisticated modeling is difficult Point clouds 2 (Local) parameterizations still needed 2 Complex LOD management • Points are natural representations within 3D acquisition systems 2 Compression and streaming is highly non-trivial • Meshes provide an articifical enhancement of the acquired point samples Remove connectivity ! 5 6

1 History of Points in Graphics The Purpose of our Course is …

• Particle systems [Reeves 1983] • Points as a display primitive [Whitted, Levoy 1985] • Oriented particles [Szeliski, Tonnesen 1992] I) …to introduce points as a versatile and • Particles and implicit surfaces [Witkin, Heckbert 1994] powerful graphics primitive • Digital Michelangelo [Levoy et al. 2000] • Image based visual hulls [Matusik 2000] II) …to present state of the art concepts • Surfels [Pfister et al. 2000] for acquisition, representation, • QSplat [Rusinkiewicz, Levoy 2000] processing and rendering of point • Point set surfaces [Alexa et al. 2001] • Radial basis functions [Carr et al. 2001] sampled geometry • Surface splatting [Zwicker et al. 2001] III) …to stimulate YOU to help us to • Randomized z-buffer [Wand et al. 2001] further develop Point Based Graphics • Sampling [Stamminger, Drettakis 2001] • Opacity hulls [Matusik et al. 2002] 7 8 • Pointshop3D [Zwicker, Pauly, Knoll, Gross 2002]...?

Taxonomy Morning Schedule

8:30-8:45 Introduction (M. Gross) Rendering Acquisition (Zwicker) (Pfister, Stamminger) 8:45-9:45 Point Rendering (M. Zwicker)

9:45-10:00 Acquisition of Point-Sampled Geometry and Appearance I (H. Pfister) Point-Based Graphics 10:00-10:30 Coffee Break

10:30-11:15 Acquisition of Point-Sampled Geometry and Processing & Appearance II (H. Pfister) Representation Editing (Alexa) (Gross, Pauly) 11:15-12:00 Dynamic Point Sampling (M. Stamminger)

9 10

Afternoon Schedule

14:00-15:00 Point-Based Surface Representations (M. Alexa) 15:00-15:30 Spectral Processing of Point-Sampled Geometry (M. Gross) 15:30-16:00 Coffee Break

16:00-16:30 Efficient Simplification of Point-Sampled Geometry (M. Pauly) 16:30-17:15 Pointshop3D: An Interactive System for Point- Based Surface Editing (M. Pauly) 17:15-17:30 Discussion (all)

11

2 Point-Based Rendering

• Introduction and motivation Point-Based Rendering • Surface elements •Rendering •Antialiasing Matthias Zwicker •Hardware Acceleration Computer Graphics Lab • Conclusions ETH Zürich

Point-Based Computer Graphics Your Name 1 Point-Based Computer Graphics Your Name 2

Motivation 1 Motivation 1

• Performance of 3D hardware has exploded (e.g., GeForce4: 136 million vertices per second) • Projected triangles are very small (i.e., cover only a few pixels) • Overhead for triangle setup increases (initialization of texture filtering, rasterization)

Quake 2 Nvidia GeForce4 A simpler, more efficient rendering 1998 2002 primitive than triangles?

Point-Based Computer Graphics Your Name 3 Point-Based Computer Graphics Your Name 4

Points as Rendering Motivation 2 Primitives • Modern 3D scanning devices • Point clouds instead of triangle meshes [Levoy and (e.g., laser range scanners) Whitted 1985, Grossman and Dally 1998, Pfister et acquire huge point clouds al. 2000] • Generating consistent triangle meshes is time consuming and difficult

A rendering primitive for direct visualization of point clouds, without the need to triangle mesh (with point cloud generate triangle meshes? 4 million pts. [Levoy et al. 2000] textures)

Point-Based Computer Graphics Your Name 5 Point-Based Computer Graphics Your Name 6

1 Point-Based Surface Representation Surface Elements - Surfels

•Points are samples of the surface • Each point corresponds to a surface • The point cloud describes: element, or surfel, describing the surface in • 3D geometry of the surface a small neighborhood • Surface reflectance properties (e.g., diffuse color, etc.) • Basic surfels: • There is no additional information, such as • connectivity (i.e., explicit BasicSurfel { y neighborhood information between position points) position; color • texture maps, bump maps, etc. color; z } x

Point-Based Computer Graphics Your Name 7 Point-Based Computer Graphics Your Name 8

Surfels Surfels

• How to represent the surface between the • Surfels can be extended by storing additional points? attributes • This allows for higher quality rendering or advanced shading effects holes between the points ExtendedSurfel { position; normal color; position • Surfels need to interpolate the surface normal; between the points radius; color radius •A certain surface area is associated with etc... surfel disc each surfel }

Point-Based Computer Graphics Your Name 9 Point-Based Computer Graphics Your Name 10

Surfels Model Acquisition

• Surfels store essential information for • 3D scanning of physical objects rendering • See Pfister, acquisition • Surfels are primarily designed as a • Direct rendering of acquired point clouds point rendering primitive • No mesh reconstruction necessary • They do not provide a mathematically smooth surface definition (see [Alexa 2001], point set surfaces)

[Matusik et al. 2002]

Point-Based Computer Graphics Your Name 11 Point-Based Computer Graphics Your Name 12

2 Model Acquisition Model Acquisition

• Sampling synthetic objects • Processing and editing of point-sampled • Efficient rendering of complex models geometry • Dynamic sampling of procedural objects and animated scenes (see Stamminger, dynamic sampling)

spectral processing point-based surface editing [Pauly, Gross 2002] [Zwicker et al. 2002] (see Gross, spectral processing) (see Pauly, Pointshop3D) [Zwicker et al. 2001] [Stamminger et al. 2001]

Point-Based Computer Graphics Your Name 13 Point-Based Computer Graphics Your Name 14

Point Rendering Pipeline Point Rendering Pipeline

Point Frame- Cloud buffer Forward Filtering Image Visibility Warping and Shading Reconstruction Forward Filtering Image Visibility Warping and Shading Reconstruction • Perspective projection of each point in the point cloud • Simple, pure forward mapping pipeline • Analogous to projection of triangle • Surfels carry all information through the pipeline („surfel stream“) vertices • No texture look-ups • homogeneous matrix-vector product • Framebuffer stores RGB, alpha, and Z • perspective division

Point-Based Computer Graphics Your Name 15 Point-Based Computer Graphics Your Name 16

Point Rendering Pipeline Point Rendering Pipeline

Forward Filtering Image Forward Filtering Image Visibility Visibility Warping and Shading Reconstruction Warping and Shading Reconstruction

•Per-point shading • Visibility and image reconstruction is • Conventional models for shading (Phong, performed simultaneously Torrance-Sparrow, reflections, etc.) • Discard points that are occluded from the • High quality antialiasing is an advanced current viewpoint topic discussed later in the course • Reconstruct continuous surfaces from projected points

Point-Based Computer Graphics Your Name 17 Point-Based Computer Graphics Your Name 18

3 Visibility and Image Overview Reconstruction

without visibility and with visibility and image reconstruction image reconstruction Forward Filtering Image Visibility Warping and Shading Reconstruction

2. 1. foreground point occluded background point

surface discontinuity (“hole”)

Point-Based Computer Graphics Your Name 19 Point-Based Computer Graphics Your Name 20

Quad Rendering Image Reconstruction Primitive • Goal: avoid holes • Draw a colored quad centered at the projected point • Use surfel disc radius r to cover • The quad side length is h, where h = 2 * r * s surface completely •The scaling factors given by perspective projection and viewport transformation 3D object space • Hardware implementation:screen spaceOpenGL GL_POINTS normal colored quad surfel disc h projected point } radius r y

x Point-Based Computer Graphics Your Name 21 Point-Based Computer Graphics Your Name 22

Projected Disc Rendering Primitive Comparison • Project surfel discs from object to screen space • Quad primitive • Projecting discs results in ellipses in screen space • Low image quality (primitives do not adapt to • Ellipses adapt to the surface orientation surface orientation) screen space object space • Efficient rendering normal • Supported by conventional 3D accelerator hardware (OpenGL GL_POINTS) • Projected disc primitive surfel disc y y • Higher image quality (primitives adapt to surface orientation) z • Not directly supported by graphics hardware x x • Higher computational cost projected surfel disc

Point-Based Computer Graphics Your Name 23 Point-Based Computer Graphics Your Name 24

4 Visibility: Z-Buffering Splatting

• No blending of rendering primitives • A splat primitive consists of a colored point primitive and an alpha mask

framebuffer pixel

z1 z >z 1 2{ y * y = y z2

y x x x z colored point alpha mask splat primitive x primitive c w(x,y) c * w(x,y) (often a 2D Gauss function)

Point-Based Computer Graphics Your Name 25 Point-Based Computer Graphics Your Name 26

Splatting Splatting

• The final color c(x,y) is computed by additive alpha blending, i.e., by computing the weighted without normalization with normalization sum color of splat i alpha of splat i at position (x,y) c w (x, y) c(x, y) = ∑i i i w (x, y) ∑i i • Normalization is necessary, because the weights do not sum up to one with irregular point distributions varying brightness no artifacts w (x, y) ≠ 1 because of irregular ∑i i point distribution

Point-Based Computer Graphics Your Name 27 Point-Based Computer Graphics Your Name 28

Splatting Extended Z-Buffering

• Extended z-buffering surface 1 surface 2 DepthTest(x,y) { if (abs(splat z – z(x,y)) < threshold) { c(x,y) = c(x,y) + splat color w(x,y) = w(x,y) + splat w(x,y) } else if (splat z < z(x,y)) { z(x,y) = splat z c(x,y) = splat color z-buffer pixel surfel disc w(x,y) = splat w(x,y) z } z-threshold discard splats accumulate } splats

Point-Based Computer Graphics Your Name 29 Point-Based Computer Graphics Your Name 30

5 Splatting Comparison High Quality Splatting

elliptical circular splats surface • High quality splatting requires careful splats with min. radius splatting minif. analysis of aliasing issues • Review of signal processing theory • Application to point rendering • Surface splatting [Zwicker et al. 2001]

magnif. 128 x 192 128 x 192 128 x 192 Point-Based Computer Graphics Your Name 31 Point-Based Computer Graphics Your Name 32

Aliasing in Computer Aliasing in Computer Graphics Graphics • Aliasing = Sampling of continuous functions • Aliasing: high frequencies in the input signal below the Nyquist frequency appear as low frequencies in the • To avoid aliasing, sampling rate must be twice as high as the maximum frequency in the signal reconstructed signal • Aliasing effects: • Loss of detail • Moire patterns, jagged edges • Disintegration of objects or patterns • Aliasing in Computer Graphics • Texture Mapping • Scan conversion of geometry

Point-Based Computer Graphics Your Name 33 Point-Based Computer Graphics Your Name 34

Occurrence of Aliasing Aliasing-Free Reconstruction

Spatial Domain Frequency Domain Spatial Domain Frequency Domain Spatial Domain Frequency Domain Spatial Domain Frequency Domain

Point-Based Computer Graphics Your Name 35 Point-Based Computer Graphics Your Name 36

6 Antialiasing Resampling

•Prefiltering discrete input signal discrete output signal • Band-limit the continuous signal before sampling warp • Eliminates all aliasing (with an ideal low-pass filter) • Closed form solution not available in general resampling • Supersampling 1. 4. • Raise sampling rate • Reduces, but does not eliminate all aliasing artifacts (in practice, many signals have infinite 2. 3. frequencies) • Simple implementation (hardware)

Point-Based Computer Graphics Your Name 37 Point-Based Computer Graphics Your Name 38

Resampling Filters Resampling Filters

Object Space Object Space Screen Space

color reconstructed input reconstruction kernels position Screen Space Screen Space 2. Warp 2. 4. Sample 4. irregular spacing

3. Filter Point-Based Computer Graphics Your Name 39 Point-Based Computer Graphics Your Name 40

Resampling Filters Resampling

Object Space Screen Space • Resampling in the context of surface sum of resampling filters rendering • Discrete input function = surface texture (discrete 2D function)

Screen Space Screen Space • Warping = projecting surfaces to the 2. Warp 2. warped reconstruction Sample 4. image plane (2D to 2D projective kernel resampling filters mapping)

low-pass filter convolution 3. Filter Point-Based Computer Graphics Your Name 41 Point-Based Computer Graphics Your Name 42

7 2D Reconstruction Kernels Resampling Filters

• Warping a 2D reconstruction kernel is equivalent to • A resampling filter is a convolution of a projecting a surfel disc with alpha mask warped reconstruction filter and a low-pass filter screen space object space screen space “no information falls pixel grid inbetween the pixel normal grid” convolution surfel disc with alpha mask = y reconstruction y kernel z x x warped low-pass filter resampling filter warped reconstruction kernel reconstruction (determined by (“blurred reconstruction kernel pixel grid) kernel”)

Point-Based Computer Graphics Your Name 43 Point-Based Computer Graphics Your Name 44

Mathematical Formulation Gaussian Resampling Filters

• Gaussians are closed under linear warping and convolution c(x, y) = c r (m−1(x, y)) ⊗ h(x, y) ∑k k k • With Gaussian reconstruction kernels and low-pass filters, the resampling pixel color warping function low pass filter reconstruction kernel filter is a Gaussian, too reconstruction kernel color • Efficient rendering algorithms (surface splatting [Zwicker et al. 2001])

Point-Based Computer Graphics Your Name 45 Point-Based Computer Graphics Your Name 46

Mathematical Formulation Mathematical Formulation

c(x, y) = c r (m−1(x, y)) ⊗ h(x, y) c(x, y) = c r (m−1(x, y)) ⊗ h(x, y) ∑k k k ∑k k k Gaussian Gaussian reconstruction kernel low-pass filter = c G (x, y) ∑k k k Gaussian resampling filter

screen space screen space

Point-Based Computer Graphics Your Name 47 Point-Based Computer Graphics Your Name 48

8 Properties of 2D Resampling Algorithm Filters

warped recon- low-pass resampling minification for each point P { struction kernel filter filter project P to screen space; shade P; determine resampling kernel G; splat G; } for each pixel { normalize; }

magnification Point-Based Computer Graphics Your Name 49 Point-Based Computer Graphics Your Name 50

Surface Splatting Hardware Implementation Performance • Based on the object space formulation of • Software implementation EWA filtering • 500 000 splats/sec on 866 MHz PIII • Implemented using textured triangles • 1 000 000 splats/sec on 2 GHz P4 • All calculations are performed in the • Hardware implementation [Ren et al. 2002] programmable hardware (extensive use of • Uses texture mapping and vertex shaders vertex shaders) • 3 000 000 splats/sec on GeForce4 Ti 4400 • Presented at EG 2002 ([Ren et al. 2002])

Point-Based Computer Graphics Your Name 51 Point-Based Computer Graphics Your Name 52

Conclusions Applications

• Points are an efficient rendering primitive for highly complex • Direct visualization of point clouds surfaces • Points allow the direct visualization of real world data • Real-time 3D reconstruction and rendering acquired with 3D scanning devices for virtual reality applications • High performance, low quality point rendering is supported by 3D hardware (tens of millions points per second) • Hybrid point and polygon rendering systems • High quality point rendering with anisotropic texture filtering • Rendering animated scenes is available • 3 million points per second with hardware support • Interactive display of huge meshes • 1 million points per second in software • On the fly sampling and rendering of • Antialiasing technique has been extended to volume procedural objects rendering

Point-Based Computer Graphics Your Name 53 Point-Based Computer Graphics Your Name 54

9 Future Work References

• [Levoy and Whitted 1985] The use of points as a display primitive, • Dedicated rendering hardware technical report, University of North Carolina at Chapel Hill, 1985 • [Heckbert 1986] Fundamentals of texture mapping and image warping, • Efficient approximations of exact EWA Master‘s Thesis, 1986 splatting • [Grossman and Dally 1998] Point sample rendering, Eurographics workshop on rendering, 1998 • Rendering architecture for on the fly • [Levoy et al. 2000] The digital Michelangelo project, SIGGRAPH 2000 • [Rusinkiewicz et al. 2000] Qsplat, SIGGRAPH 2000 sampling and rendering • [Pfister et al. 2000] Surfels: Surface elements as rendering primitives, SIGGRAPH 2000 • [Zwicker et al. 2001] Surface splatting, SIGGRAPH 2001 • [Zwicker et al. 2002] EWA Splatting, to appear, IEEE TVCG 2002 • [Ren et al. 2002] Object space EWA splatting: A hardware accelerated approach to high quality point rendering, Eurographics 2002

Point-Based Computer Graphics Your Name 55 Point-Based Computer Graphics Your Name 56

10 The Goal: To Capture Reality

Acquisition of Point-Sampled • Fully-automated 3D model creation of real Geometry and Appearance objects. • Faithful representation of appearance for Hanspeter Pfister, MERL these objects. [email protected]

Wojciech Matusik, MIT Addy Ngan, MIT Paul Beardsley, MERL Remo Ziegler, MERL Leonard McMillan, MIT

Point-Based Computer Graphics Hanspeter Pfister, MERL 1 Point-Based Computer Graphics Hanspeter Pfister, MERL 2

Image-Based 3D Photography Previous Work

• An image-based 3D scanning system. • Active and passive 3D scanners • Handles fuzzy, refractive, transparent objects. • Work best for diffuse materials. • Robust, automatic • Fuzzy, transparent, and refractive objects are difficult. • Point-sampled geometry based on the visual hull. • BRDF estimation, inverse rendering • Objects can be rendered in novel environments. • Image based modeling and rendering • Reflectance fields [Debevec et al. 00] • Light Stage system to capture reflectance fields • Fixed viewpoint, no geometry • Environment matting [Zongker et al. 99, Chuang et al. 00] • Capture reflections and refractions • Fixed viewpoint, no geometry

Point-Based Computer Graphics Hanspeter Pfister, MERL 3 Point-Based Computer Graphics Hanspeter Pfister, MERL 4

Outline The System

•Overview ¾ System •Geometry Light Array • Reflectance •Rendering •Results

Cameras

Multi-Color Monitors Rotating Platform

Point-Based Computer Graphics Hanspeter Pfister, MERL 5 Point-Based Computer Graphics Hanspeter Pfister, MERL 6 Outline Acquisition

•Overview • For each viewpoint ( 6 cameras x 72 •System positions ) ¾ Geometry • Alpha mattes • Use multiple backgrounds [Smith and Blinn 96] • Reflectance • Reflectance images •Rendering • Pictures of the object under different •Results lighting (4 lights x 11 positions) • Environment mattes • Use similar techniques as [Chuang et al. 2000]

Point-Based Computer Graphics Hanspeter Pfister, MERL 7 Point-Based Computer Graphics Hanspeter Pfister, MERL 8

Geometry – Opacity Hull Approximate Geometry

• Visual hull augmented with view-dependent • The approximate visual hull is augmented by opacity. radiance data to render concavities, reflections, and transparency.

Point-Based Computer Graphics Hanspeter Pfister, MERL 9 Point-Based Computer Graphics Hanspeter Pfister, MERL 10

Geometry Example Surface Light Fields

• A surface light field is a function that assigns a color to each ray originating on a surface. [Wood et al., 2000]

Point-Based Computer Graphics Hanspeter Pfister, MERL 11 Point-Based Computer Graphics Hanspeter Pfister, MERL 12 Shading Algorithm Color Blending

• A view-dependent strategy. • Blend colors based on angle between virtual camera and stored colors. • Unstructured Lumigraph Rendering [Buehler et al., SIGGRAPH 2001] • View-Dependent Texture Mapping [Debevec, EGRW 98]

Point-Based Computer Graphics Hanspeter Pfister, MERL 13 Point-Based Computer Graphics Hanspeter Pfister, MERL 14

Point-Based Rendering Geometry – Opacity Hull

• Point-based rendering using LDC tree, • Store the opacity of each observation at visibility splatting, and view-dependent each point on the visual hull [Matusik et al. shading. SIG2002].

Point-Based Computer Graphics Hanspeter Pfister, MERL 15 Point-Based Computer Graphics Hanspeter Pfister, MERL 16

Geometry – Opacity Hull Example

• Assign view-dependent opacity to each ray originating on a point of the visual hull.

Photo Surface B C Light Field

A φ (θ,φ)

Red = invisible Visual Hull Opacity White = opaque Hull A B C Black = transparent θ Point-Based Computer Graphics Hanspeter Pfister, MERL 17 Point-Based Computer Graphics Hanspeter Pfister, MERL 18 Results Opacity Hull – Discussion

• Point-based rendering using EWA splatting, • View dependent opacity vs. geometry A-buffer blending, and edge antialiasing. trade-off. • Similar to radiance vs. geometry trade-off. • Sometimes acquiring the geometry is not possible (e.g. resolution of the acquisition device is not adequate). • Sometimes representing true geometry would be very inefficient (e.g. hair, trees). • Opacity hull stores the “macro” effect.

Point-Based Computer Graphics Hanspeter Pfister, MERL 19 Point-Based Computer Graphics Hanspeter Pfister, MERL 20

Point-Based Models Outline

• No need to establish topology or •Overview connectivity. • Previous Works • No need for a consistent surface •Geometry parameterization for texture mapping. ¾ Reflectance • Represent organic models (feather, tree) •Rendering much more readily than polygon models. •Results • Easy to represent view-dependent opacity and radiance per surface point.

Point-Based Computer Graphics Hanspeter Pfister, MERL 21 Point-Based Computer Graphics Hanspeter Pfister, MERL 22

Light Transport Model Surface Reflectance Fields

ω ω = θ Φ θ Φ • Assume illumination originates from • 6D function:ω W (P, i , r ) W (ur ,vr ; i , i ; r , r ) infinity. i ω • The light arriving at a camera pixel can be i described as: C(x, y) = W (ω)E(ω)dω ∫ P Ω ω r C(x,y) - the pixel value E-the environment W -the reflectance field

Point-Based Computer Graphics Hanspeter Pfister, MERL 23 Point-Based Computer Graphics Hanspeter Pfister, MERL 24 Reflectance Functions Reflectance Field Acquisition

• For each viewpoint, 4D function: • We separate the hemisphere into high resolution Ω and low resolution Ω [Matusik W (ω ) = W (x, y;θ ,Φ ) h l xy i i i et al., EGRW2002].

(θi,φi Ω Ω ) h l T φi

L(ω C(x, y) = W (ξ )T (ξ )dξ + W) (ω )L(ω )dω ∫ h ∫ l i i Ω Ω θi h l

Point-Based Computer Graphics Hanspeter Pfister, MERL 25 Point-Based Computer Graphics Hanspeter Pfister, MERL 26

Acquisition Low-Resolution Reflectance Field

• For each viewpoint ( 6 cameras x 72 C(x, y) = W (ξ )T(ξ )dξ + W (ω )L(ω )dω ∫ h ∫ l i i Ω Ω positions ) h l • Alpha mattes • Wl sampled by taking pictures with each light • Use multiple backgrounds [Smith and Blinn 96] turned on at a time [Debevec et al 00]. • Reflectance images Low resolution • Pictures of the object under different lighting (4 lights x 11 positions) • Environment mattes High resolution n • Use similar techniques as [Chuang et al. 2000] W (ω )L(ω )dω ≈ W L for n lights ∫ l i i ∑ i i Ω i=1 l Point-Based Computer Graphics Hanspeter Pfister, MERL 27 Point-Based Computer Graphics Hanspeter Pfister, MERL 28

Compression High-Resolution Reflectance Field

• Subdivide images into 8 x 8 pixel blocks. C(x, y) = W (ξ )T(ξ )dξ + W (ω )L(ω )dω ∫ h ∫ l i i Ω Ω • Keep blocks containing the object (avg. h l compression 1:7) • Use techniques of environment matting • PCA compression (avg. compression 1:10) [Chuang et al., SIGGRAPH 00].

•Approximate Wh by a sum of up to two Gaussians: PCA N G1 • Reflective G1.

• Refractive G2. a0 a1 a2 a3 a4 a5 G2 ξ = + Wh ( ) a1G1 a2G2

Point-Based Computer Graphics Hanspeter Pfister, MERL 29 Point-Based Computer Graphics Hanspeter Pfister, MERL 30 Surface Reflectance Fields Outline

• Work without accurate geometry. •Overview • Surface normals are not necessary. • Previous Works • Capture more than reflectance: •Geometry • Inter-reflections • Reflectance • Subsurface scattering •Refraction ¾ Rendering • Dispersion •Results • Non-uniform material variations • Simplified version of the BSSRDF [Debevec et al., 00].

Point-Based Computer Graphics Hanspeter Pfister, MERL 31 Point-Based Computer Graphics Hanspeter Pfister, MERL 32

st Ω Rendering 1 Step: Relighting l

• Input: Opacity hull, reflectance data, new •Compute radiance image for each viewpoint. environment New Illumination •Create radiance images from environment and low-resolution reflectance field. Downsample

• Reparameterize environment mattes. x = • Interpolate data to new viewpoint.

The sum is the radiance image of this viewpoint in this environment.

Point-Based Computer Graphics Hanspeter Pfister, MERL 33 Point-Based Computer Graphics Hanspeter Pfister, MERL 34

nd Ω rd 2 Step: Reproject h 3 Step: Interpolation

• Project environment mattes onto the new • From new viewpoint, for each surface point, find environment. four nearest acquired viewpoints. • Store visibility vector per surface point. • Environment mattes acquired was parameterized on plane T (the plasma display). • Interpolate using unstructured lumigraph interpolation [Buehler et al., SIGGRAPH 01] or view- • We need to project the Gaussians to the new dependent texture mapping [Debevec 96]. environment map, producing new Gaussians. •Opacity. • Contribution from low-res reflectance field (in the form of Ωh radiance images). T • Contribution from high-res reflectance field.

Point-Based Computer Graphics Hanspeter Pfister, MERL 35 Point-Based Computer Graphics Hanspeter Pfister, MERL 36 3rd Step: Interpolation Outline

• For low-res reflectance field, we interpolate •Overview the RGB color from the radiance images. • Previous Works For high-resolution •Geometry reflectance field: V1 ~ • Reflectance Interpolate direction of G1r N ~ reflection/refraction. G V2 2r •Rendering Interpolate other ¾ Results parameters of the ~ G2t Gaussians. ~ G Convolve with the 1t environment.

Point-Based Computer Graphics Hanspeter Pfister, MERL 37 Point-Based Computer Graphics Hanspeter Pfister, MERL 38

Results Results

• Performance for 6x72 = 432 viewpoints • 337,824 images taken in total !! • Acquisition (47 hours) • Alpha mattes – 1 hour • Environment mattes – 18 hours • Reflectance images – 28 hours •Processing • Opacity hull ~ 30 minutes • PCA Compression ~ 20 hours (MATLAB, unoptimized) • Rendering ~ 5 minutes per frame •Size • Opacity hull ~ 30 - 50 MB • Environment mattes ~ 0.5 - 2 GB • Reflectance images ~ Raw 370 GB / Compressed 2 - 4 GB

Point-Based Computer Graphics Hanspeter Pfister, MERL 39 Point-Based Computer Graphics Hanspeter Pfister, MERL 40

Results Results Ω Ω High-resolution h Low-resolutionl Combined

Point-Based Computer Graphics Hanspeter Pfister, MERL 41 Point-Based Computer Graphics Hanspeter Pfister, MERL 42 Ω Results Results – h

Point-Based Computer Graphics Hanspeter Pfister, MERL 43 Point-Based Computer Graphics Hanspeter Pfister, MERL 44

Ω Results – l Results – Combined

Point-Based Computer Graphics Hanspeter Pfister, MERL 45 Point-Based Computer Graphics Hanspeter Pfister, MERL 46

Results Results

Point-Based Computer Graphics Hanspeter Pfister, MERL 47 Point-Based Computer Graphics Hanspeter Pfister, MERL 48 Conclusions Future Directions

• A fully automatic system that is able to capture • Use more than 2 Gaussians for the and render any type of object. environment mattes. • Opacity hulls combined with lightfields / surface • Better compression. reflectance fields provide realistic 3D graphics models. • Real-time rendering. • Point-based rendering offers easy surface parameterization of acquired models. • Separation of surface reflectance fields into high- and low-resolution areas is practical. • New rendering algorithm for environment matte interpolation.

Point-Based Computer Graphics Hanspeter Pfister, MERL 49 Point-Based Computer Graphics Hanspeter Pfister, MERL 50

Acknowledgements

• Colleagues: • MIT: Chris Buehler, Tom Buehler. • MERL: Bill Yerazunis, Darren Leigh, Michael Stern. • Thanks to: • David Tames, Jennifer Roderick Pfister. • NSF grants CCR-9975859 and EIA-9802220. • Papers available at: • http://www.merl.com/people/pfister/

Point-Based Computer Graphics Hanspeter Pfister, MERL 51 motivation

•tree created by AMAP •150,000 triangles dynamic point sampling •8 fps

Marc Stamminger

Point-Based Computer Graphics Point-Based Computer Graphics Marc Stamminger 2

motivation point rendering pipeline

• level of detail • 100 trees scene description point set •270,000 points •vrml file (3D-coordinates, •mgf file screen •20 fps normal, •… material) •procedural model

point generation point rendering

Point-Based Computer Graphics Marc Stamminger 3 Point-Based Computer Graphics Marc Stamminger 4

point generation point rendering

•Surfels •in software (Pfister et al., SIG2000) •filtering • (orthographic) views •texturing • Q-Splat • hole filling (Rusinkiewicz et al.,SIG2000) • in hardware • filtered triangle mesh hierarchy • Randomized z-Buffer •as points (Wand et al., SIG2001) • as polygonal disks • random points • as splats

Point-Based Computer Graphics Marc Stamminger 5 Point-Based Computer Graphics Marc Stamminger 6

1 our approach results

• dynamic point generation for • points are well suited for • procedural objects •procedural • terrains geometry • complex dynamic objects • point rendering with OpenGL’s GL_POINT •very fast (> 107 points per second) • OpenGL does lighting

Point-Based Computer Graphics Marc Stamminger 7 Point-Based Computer Graphics Marc Stamminger 8

results results

• points are well suited for • points are well suited for •procedural •procedural geometry geometry • terrains • terrains •complex geometry

Point-Based Computer Graphics Marc Stamminger 9 Point-Based Computer Graphics Marc Stamminger 10

results results

• points are well suited for • points are well suited for •procedural •procedural geometry geometry • terrains • terrains •complex •complex geometry geometry •combinations •combinations • eco systems

Point-Based Computer Graphics Marc Stamminger 11 Point-Based Computer Graphics Marc Stamminger 12

2 complex polygonal geometry complex polygonal geometry

• generate list of randomly distributed • easy speed / quality trade off samples • frame rate control • for every frame: compute n, render the first n

100,000 10,000 1,000 100,000 10,000 1,000

Point-Based Computer Graphics Marc Stamminger 13 Point-Based Computer Graphics Marc Stamminger 14

sample densities densities complex geometry

• adapt point densities to • world space -> post-perspective: image space (2D) • area decreases by squared distance • or: adapt to •goal: post-perspective space (3D) uniform post-perspective point density • point number ~ area/d2

Point-Based Computer Graphics Marc Stamminger 15 Point-Based Computer Graphics Marc Stamminger 16

modified complex geometry complex geometry

• simple modifications on the fly • video „complex geometry“ •download at http://www-sop.inria.fr/reves/research

30 fps

Point-Based Computer Graphics Marc Stamminger 17 Point-Based Computer Graphics Marc Stamminger 18

3 displaced geometry displaced geometry

25,000 points 25,000 points 25,000 points 100,000 points

Point-Based Computer Graphics Marc Stamminger 19 Point-Based Computer Graphics Marc Stamminger 20

adaptive sampling undersampling factor

< 1 > 1

undersampling in 2D image space, not post-perspective !

Point-Based Computer Graphics Marc Stamminger 21 Point-Based Computer Graphics Marc Stamminger 22

undersampling factor adaptive point generation

adaptive sample pattern

Point-Based Computer Graphics Marc Stamminger 23 Point-Based Computer Graphics Marc Stamminger 24

4 √5 sampling √5 sampling

(2/5,1/5)

initial samples, newly inserted initial samples, newly inserted all undersampled samples all undersampled samples

Point-Based Computer Graphics Marc Stamminger 25 Point-Based Computer Graphics Marc Stamminger 26

√5 sampling √5 sampling

undersampled newly inserted newly inserted samples samples samples

Point-Based Computer Graphics Marc Stamminger 27 Point-Based Computer Graphics Marc Stamminger 28

√5 sampling √5 sampling

undersampled newly inserted newly inserted samples samples samples

Point-Based Computer Graphics Marc Stamminger 29 Point-Based Computer Graphics Marc Stamminger 30

5 √5sampling procedural modifiers

• rotated, nested grids • grid distance decreases by 1/sqrt(5) • rotation angle ≈ 27o • special attention to boundaries

original geometry: square original geometry: truncated cone

Point-Based Computer Graphics Marc Stamminger 31 Point-Based Computer Graphics Marc Stamminger 32

video terrains

•video„√5 sampling“ •download at http://www-sop.inria.fr/reves/research

Point-Based Computer Graphics Marc Stamminger 33 Point-Based Computer Graphics Marc Stamminger 34

terrains terrain parameterization

• parameterize sector by (d,u)

u d

terrain d u screen

Point-Based Computer Graphics Marc Stamminger 35 Point-Based Computer Graphics Marc Stamminger 36

6 terrain parameterization terrain algorithm

1 d(v) = • √5 sampling scheme 1 −  1 − 1  v  • undersampling factor dmin  dmax dmin  • parameterization looking straight looking up looking down distortions ahead • perspective distortions • displacement

Point-Based Computer Graphics Marc Stamminger 37 Point-Based Computer Graphics Marc Stamminger 38

terrain occlusion culling terrain occlusion culling

•elevation direction in image space along v elevation • simplifies occlusion culling

occlusion culling, occlusion culling, regular sampling with adaptive sampling

Point-Based Computer Graphics Marc Stamminger 39 Point-Based Computer Graphics Marc Stamminger 40

video eco systems

• video „terrain rendering“ • level of detail: •download at • polygonal model http://www-sop.inria.fr/reves/research

• replace polygons by points and lines

• reduce number of points and lines

Point-Based Computer Graphics Marc Stamminger 41 Point-Based Computer Graphics Marc Stamminger 42

7 eco systems eco systems

•example • modeller (xfrog) delivers:

•triangle set Tp points • random point set representing Tp

•triangle setTl

lines •randomline setL representing Tl (|L| < Tl) polygons

Point-Based Computer Graphics Marc Stamminger 43 Point-Based Computer Graphics Marc Stamminger 44

eco systems eco systems

• level-of-detail 1 • level-of-detail 2 triangles triangles points lines

triangles points lines points lines

points lines triangles points lines

points lines triangles points lines

Point-Based Computer Graphics Marc Stamminger 45 Point-Based Computer Graphics Marc Stamminger 46

eco systems eco systems

• criterion for point / line number • video „eco system rendering“ (per object) •download at • user parameter: http://www-sop.inria.fr/reves/research

point size dp / line width dl • approximate screen space area of object: A‘ = A * 0.5 / d2 2 •#points~ A‘ / dp

•#lines~ A‘ / dp

Point-Based Computer Graphics Marc Stamminger 47 Point-Based Computer Graphics Marc Stamminger 48

8 Motivation

• Many applications need definition of surface based on point samples Surfaces from Point Samples •Reduction • Up-sampling • Interrogation (e.g. ray tracing) Marc Alexa • Desirable surface properties TU Darmstadt •Manifold • Smooth • Local (efficient computation)

Point-Based Computer Graphics Point-Based Computer Graphics Marc Alexa 2

Overview Introduction & Basics

• Introduction & Basics • Regular/Irregular • Fitting Implicit Surfaces • Approximation/Interpolation • Projection-based Surfaces •Global/Local • Standard techniques •LS, RBF, MLS •Problems • Sharp edges, feature size/noise • Functional/Manifold

Point-Based Computer Graphics Marc Alexa 3 Point-Based Computer Graphics Marc Alexa 4

Regular/Irregular Approximation/Interpolation

•Regular • Noisy data -> Approximation • Requires to store only values

•Irregular • Perfect data -> Interpolation

• Requires to store locations pi

p x py

Point-Based Computer Graphics Marc Alexa 5 Point-Based Computer Graphics Marc Alexa 6

1 Global/Local Least Squares

• Global approximation • Fits a primitive to the data • Minimizes squared distances between

the pi’s and primitive g • Local approximation g(x) = a + bx + cx 2

• Locality comes at the expense of smoothness ( − ())2 min pi g pi g ∑ y x i

Point-Based Computer Graphics Marc Alexa 7 Point-Based Computer Graphics Marc Alexa 8

Least Squares - Example Least Squares - Example

•Primitive is a polynomial • Resulting system 2 T = ( )⋅ j 2 T g(x) 1, x, x ,... c 0 = 2 p (p − (1, p , p ,...)c )⇔ ∑ ix iy ix ix 2 i • min ()p − ()1, p , p2 ,... cT ⇒ ∑ iy ix ix  1 x x2 c   y  i  K 0    j 2 T 2 3 0 = 2 p ()p − ()1, p , p ,... c  x x x  c1   yx  ∑ ix iy ix ix = i  x2 x3 x4 c   yx 2    2    • Linear system of equations       M O M   M 

Point-Based Computer Graphics Marc Alexa 9 Point-Based Computer Graphics Marc Alexa 10

Moving Least Squares Moving Least Squares

• Compute a local LS approximation at t •The set ()= ( − ())2 ( − ) • Weight data points based on distance f t gt (t), gt : min pi g pi θ t pi g ∑ y x x to t i is a smooth curve, iff θ is smooth

g(x) = a + bx + cx 2 t min (p − g()p )2θ( t − p ) ∑ iy ix ix i

Point-Based Computer Graphics Marc Alexa 11 Point-Based Computer Graphics Marc Alexa 12

2 Moving Least Squares Radial Basis Functions

• Typical choices for θ: •Representinterpolantas − • θ()d = d r • Sum of radial functions r −d 2 / h2 • θ()d = e • Centered at the data points pi ()= ()− f x ∑ wir pi x • Note: θ = θ ( t − p ) is fixed i i ix •For each t • Standard weighted LS problem • Linear iff corresponding LS is linear

Point-Based Computer Graphics Marc Alexa 13 Point-Based Computer Graphics Marc Alexa 14

Radial Basis Functions Radial Basis Functions

•Solvep = w r( p − p ) • Solvability depends on radial function jy ∑ i ix jx i • Several choices assure solvability to compute weights wi •r()d = d 2 log d (thin plate spline) • Linear system of equations  () ()− ()−  −d 2 / h2 r 0 r p0 p1 r p0 p2  w0   p0  •r()d = e (Gaussian)  ()x x ()x x L   y   r p − p r()0 r p − p  w1   p1  • h is a data parameter  1x 0x 1x 2x  = y ()− ()− ()  w   p  • h r p p r p p r 0 2 2 y reflects the feature size or anticipated  2x 0x 2x 1x          spacing among points  M O M   M 

Point-Based Computer Graphics Marc Alexa 15 Point-Based Computer Graphics Marc Alexa 16

Typical Problems Functional/Manifold

• Sharp corners/edges • Standard techniques are applicable if data represents a function

• Noise vs. feature size • Manifolds are more general

Point-Based Computer Graphics Marc Alexa 17 Point-Based Computer Graphics Marc Alexa 18

3 Implicits Implicits - Illustration

• Each orientable n-manifold can be embedded in n+1 – space • Idea: Represent n-manifold as zero- set of a scalar function in n+1 – space •Inside: f ()x < 0 • On the manifold: f ()x = 0 •Outside: f ()x > 0 •Image courtesy Greg Turk

Point-Based Computer Graphics Marc Alexa 19 Point-Based Computer Graphics Marc Alexa 20

Implicits from point samples Implicits from point samples

+ • Function should be •Constraints define + zero in data points inside and outside − • f ()p = 0 • Simple approach + i − • Use standard 0 (Turk, O’Brien) − + approximation • Sprinkle additional + − − techniques to find f information manually − •Trivial solution: f = 0 • Make additional information soft + • Additional constraints constraints + are needed

Point-Based Computer Graphics Marc Alexa 21 Point-Based Computer Graphics Marc Alexa 22

Implicits from point samples Estimating normals + •Use normal + •Two problems + information as + • Normal direction and • Orientation constraint + n + (Implicits are signed!) f ()p + n =1 i i • Normal direction q • Normals could be + + by fitting a tangent computed from scan + • LS fit to nearest neighbors • Or, normals have to be + •Weighted LS fit estimated + + •MLS fit

Point-Based Computer Graphics Marc Alexa 23 Point-Based Computer Graphics Marc Alexa 24

4 Estimating normals Estimating normals

•General fitting problem • The constrained minimization problem − 2 () − 2 min q pi ,n θ q, pi min q pi ,n θi n =1 ∑ n =1 ∑ i i n • Problem is non-linear q is solved by the eigenvector corresponding because n is constrained to the smallest eigenvalue of

to unit sphere  2 2 2   ()q − p θ ()q − p θ ()q − p θ  ∑ x ix i ∑ x iy i ∑ x iz i  i i i   ()q − p 2 θ ()q − p 2 θ ()q − p 2 θ  ∑ y ix i ∑ y iy i ∑ y iz i  i i i   ()q − p 2 θ ()q − p 2 θ ()q − p 2 θ  ∑ z ix i ∑ z iy i ∑ z iz i   i i i 

Point-Based Computer Graphics Marc Alexa 25 Point-Based Computer Graphics Marc Alexa 26

Estimating normals Computing Implicits

• Consistent orientation • Given N points and normals pi ,ni •Problem is NP-hard and constraints ()= (+ )= f pi 0, f pi ni 1 • Greedy approach (Hoppe) = + • Compute spanning tree •Let pi+N pi ni based on graph of • An RBF approximation k-nearest neighbors ()= ()− f x ∑ wir pi x • Orient consistently along i spanning tree leads to 2N linear equations in 2N unknowns (a 2 N × 2 N matrix)

Point-Based Computer Graphics Marc Alexa 27 Point-Based Computer Graphics Marc Alexa 28

Computing Implicits Computing Implicits

 r()0 r()p − p r()p − p  •Practical problems: N > 10000 • Sparse matrices  0 1 0 2 L r()p − p r()0 r()p − p   1 0 1 2  • Matrix solution becomes difficult ()− ()− ()  r p p0 r p2 p1 r 0    •Two solutions  M O > → = = • Sparse matrices allow iterative solution • Needed: d c r(d) 0,r'(c) 0 • Smaller number of RBFs c c • Compactly supported RBFs

Point-Based Computer Graphics Marc Alexa 29 Point-Based Computer Graphics Marc Alexa 30

5 Computing Implicits RBF Implicits - Results

• Smaller number of RBFs • Images courtesy Greg Turk • Greedy approach (Carr et al.) • Start with random small subset • Add RBFs where approximation quality is not sufficient

Point-Based Computer Graphics Marc Alexa 31 Point-Based Computer Graphics Marc Alexa 32

RBF Implicits - Results Implicits - Conclusions

• Images courtesy Greg Turk • Scalar field is underconstrained • Constraints only define where the field is zero, not where it is non-zero • Signed fields restrict surfaces to be unbounded • All implicit surfaces define solids

Point-Based Computer Graphics Marc Alexa 33 Point-Based Computer Graphics Marc Alexa 34

Projection Surface definition

• Idea: Map space to surface • Projection procedure (Levin) • Surface is defined as fixpoints of • Local polyonmial approximation mapping • Inspired by differential geometry • “Implicit” surface definition r r’ r r’ • Infinitely smooth & • Manifold surface

Point-Based Computer Graphics Marc Alexa 35 Point-Based Computer Graphics Marc Alexa 36

6 Surface Definition Local Reference Plane

Weight function • Constructive definition •Find plane H = q,n + D based on distance to H r • Input point r r 2 q, not r • min q − p ,n θ()q − p • Compute a local = ∑ i i n q, n 1 H reference plane r i r G d 2 / h2 n Hr= r • θ()d = e r • Compute a local q • h is feature size/ polynomial over point spacing the plane G q r • H is independent •Project point r’=G (0) r r of r’s distance • Estimate normal • Manifold property

Point-Based Computer Graphics Marc Alexa 37 Point-Based Computer Graphics Marc Alexa 38

Local Reference Plane Local Reference Plane

H H •Computing reference plane r r n r •Practical computation n r • Non-linear optimization problem • Minimize over n for fixed q •Minimize independent q • Eigenvalue problem q variables: • Translate q so that •Over n for fixed distance r − q H r = q + r − q n H n r n r r • Effectively changes r − q r •Along n for fixed direction n • Minimize along n for fixed direction n • q changes -> the weights change q q • Exploit partial derivative • Only iterative solutions possible

Point-Based Computer Graphics Marc Alexa 39 Point-Based Computer Graphics Marc Alexa 40

Projecting the Point Spatial data structure

θ • MLS polyonomial over Hr • Regular grid based on support of ( − − ( ))2 ()− • min q pi ,n G pi θ q pi • Each point influences only 8 cells G∈Π ∑ H r d i • Each cell is n •LS problem r an octree Hr r •r’=Gr(0) • Distant octree cells q are approximated •Estimate normal by one point in center of mass

Gr

Point-Based Computer Graphics Marc Alexa 41 Point-Based Computer Graphics Marc Alexa 42

7 Error bounds Error bounds

• Paradigm: • Approximation error of SP to S • Given surface S • MLS error approximating a function f with + a polynomial g: f − g ≤ M ⋅ hm 1 ()+ = {} • M ∈O( f m 1 ) • Point set P p i sampled from S • m = degree of polynomial • SP is approximated by a polynomial in each point ∈ − ≤ ⋅ m+1 ( r i S ) defines SR • S S p M h

Point-Based Computer Graphics Marc Alexa 43 Point-Based Computer Graphics Marc Alexa 44

Error bounds Conclusions

• Conclusions • Projection-based surface definition • Remark: Curvature is a useful criterion • Surface is smooth and manifold only for piecewise linear surfaces • Surface may be bounded • Generally: Higher order derivatives are not accessible • Representation error mainly depends on • Quality of representation is mainly point density dictated by h • Adjustable feature size h allows to • Number of points control h smooth out noise • Increase/decrease number of points to adjust the quality of representation

Point-Based Computer Graphics Marc Alexa 45 Point-Based Computer Graphics Marc Alexa 46

Some References

• Alexa, Behr, Cohen-Or, Fleishman, Levin, Silva. Point Set Surfaces. IEEE Visualization 2002, pp. 21-28, 2002 • Carr, Beatson, Cherrie, Mitchell, Fright, McCallum, Evans. Reconstruction and Representation of 3D Objects with Radial Basis Functions. SIGGRAPH 2001 Proc., pp. 67-76, 2001 • Hoppe, DeRose, Duchamp, McDonald, Stuetzle. Surface Reconstruction from unorganized points. SIGGRAPH 1992 Proc., pp. 71-78, 1992 • Levin. The approximation power of moving least-squares. Math. Comp. 67(224):1517-1531, 1998 • Levin. Mesh-independent surface interpolation. Curves & Surfaces 2000 • Savchenko, Pasko, Okunev, Kunii. Function representation of solids reconstructed from scattered surface points and contours. Computer Graphics Forum, 14(4):181–188, 1995 • Turk, O’Brien. Shape transformation using variational implicit surfaces. SIGGRAPH 1999 Proc., pp. 335–342, 1999 • Turk, O’Brien. Variational implicit surfaces. Technical Report GITGVU 9915, Georgia Institute of Technology, 1999

Point-Based Computer Graphics Marc Alexa 47

8 Overview

•Introduction Spectral Processing of Point- • Fourier transform Sampled Geometry • Spectral processing pipeline • Applications •Spectral filtering • Adaptive subsampling •Summary

Point-Based Computer Graphics Markus Gross 1 Point-Based Computer Graphics Markus Gross 2

Introduction Introduction

• Idea: Extend the Fourier transform to • Applications: manifold geometry •Spectral filtering: •Noise removal • Microstructure analysis • Enhancement

• Adaptive resampling: Ö Spectral representation of point-based objects • Complexity reduction Ö Powerful methods for digital geometry processing • Continuous LOD

Point-Based Computer Graphics Markus Gross 3 Point-Based Computer Graphics Markus Gross 4

Fourier Transform Fourier Transform

• 1D example: • Requirements: nk • Fourier transform defined on Euclidean domain N − j2π = N Öwe need a global parameterization X n xk e ∑ spectral basis function k =1 • Basis functions are eigenfunctions of Laplacian output signal input signal operator Örequires regular sampling pattern so that basis functions can be expressed in analytical form (fast • Benefits: evaluation) • Sound concept of frequency • Limitations: • Extensive theory • Basis functions are globally defined • Fast algorithms ÖLack of local control

Point-Based Computer Graphics Markus Gross 5 Point-Based Computer Graphics Markus Gross 6

1 Approach Spectral Pipeline

• Split model into patches that: • are parameterized over the unit-square Ö mapping must be continuous and should minimize distortion • are re-sampled onto a regular grid Ö adjust sampling rate to minimize information loss • provide sufficient granularity for intended application (local analysis)

Öprocess each patch individually and blend processed patches

Point-Based Computer Graphics Markus Gross 7 Point-Based Computer Graphics Markus Gross 8

Patch Layout Creation Patch Layout Creation

• Iterative, local optimization method Clustering Ö Optimization • Merge patches according to quality metric: Φ = Φ ⋅Φ ⋅Φ ⋅Φ S NC B Reg Φ S Ö patch Size Φ NCÖ curvature Φ B Ö patch boundary Samples Ö Clusters Ö Patches Φ RegÖ spring energy regularization

Point-Based Computer Graphics Markus Gross 9 Point-Based Computer Graphics Markus Gross 10

Patch Layout Creation Patch Resampling

• Parameterize patches by orthogonal projection • Patches are irregularly sampled: onto base plane • Bound normal cone to control distortion of mapping using smallest enclosing sphere

Point-Based Computer Graphics Markus Gross 11 Point-Based Computer Graphics Markus Gross 12

2 Patch Resampling Spectral Analysis

• Resample patch onto regular grid using hierarchical • 2D discrete Fourier transform (DFT) push-pull filter (scattered data approximation) Ö Direct manipulation of spectral coefficients

• Filtering as convolution: F(x ⊗ y) = F(x)⋅ F(y)

Ö Convolution: O(N2) Ö multiplication: O(N)

• Inverse Fourier transform Ö Filtered patch surface

Point-Based Computer Graphics Markus Gross 13 Point-Based Computer Graphics Markus Gross 14

Spectral Filters Spectral Filters

• Smoothing filters • Microstructure analysis and enhancement ideal low-pass Gaussian low-pass original

transfer function: spectral domain

transfer function: spatial domain

Point-Based Computer Graphics Markus Gross 15 Point-Based Computer Graphics Markus Gross 16

Spectral Resampling Reconstruction

• Low-pass filtering • Filtering can lead to discontinuities at Ö Band-limitation patch boundaries Ö Create patch overlap, blend adjacent patches • Regular Resampling region of overlap Ö Optimal sampling rate Sampling rates (sampling theorem)

Ö Error control Power Spectrum Point positions (Parseval’s theorem) Normals

Point-Based Computer Graphics Markus Gross 17 Point-Based Computer Graphics Markus Gross 18

3 Reconstruction Timings

Clustering 9% • Blending the sampling rate Time

Patch Merging 38%

SDA 23%

blended sampling discretized pre-computed Analysis 4% rate in region of sampling rate sampling patterns patch overlap on regular grid Reconstruction 26%

Point-Based Computer Graphics Markus Gross 19 Point-Based Computer Graphics Markus Gross 20

Applications Applications

•Surface Restoration • Interactive filtering

Original Gaussian low-pass Wiener filter Patch layout

Point-Based Computer Graphics Markus Gross 21 Point-Based Computer Graphics Markus Gross 22

Applications Summary

• Adaptive Subsampling • Versatile spectral decomposition of point- based models • Effective filtering • Adaptive resampling • Efficient processing of large point-sampled models

4,128,614 pts. = 100% 287,163 pts. = 6.9%

Point-Based Computer Graphics Markus Gross 23 Point-Based Computer Graphics Markus Gross 24

4 Reference

• Pauly, Gross: Spectral Processing of Point-sampled Geometry, SIGGRAPH 2001

Point-Based Computer Graphics Markus Gross 25

5 Overview

•Introduction Efficient Simplification of • Local surface analysis Point-sampled Surfaces • Simplification methods • Error measurement •Comparison

Point-Based Computer Graphics Mark Pauly 1 Point-Based Computer Graphics Mark Pauly 2

Introduction Introduction

• Point-based models are often sampled very densely • We transfer different simplification methods from • Many applications require coarser approximations, triangle meshes to point clouds: e.g. for efficient • Incremental clustering •Storage • Hierarchical clustering • Transmission • Iterative simplification • Processing •Particle simulation •Rendering • Depending on the intended use, each method has Ö we need simplification methods for reducing the its pros and cons (see comparison) complexity of point-based surfaces

Point-Based Computer Graphics Mark Pauly 3 Point-Based Computer Graphics Mark Pauly 4

Local Surface Analysis Neighborhood

• Cloud of point samples describes underlying • No explicit connectivity between samples (as with (manifold) surface triangle meshes)

• We need: • Replace geodesic proximity with spatial proximity • mechanisms for locally approximating the (requires sufficiently high sampling density!) surface Ö MLS approach • Compute neighborhood according to Euclidean • fast estimation of tangent plane and curvature distance Ö principal component analysis of local neighborhood

Point-Based Computer Graphics Mark Pauly 5 Point-Based Computer Graphics Mark Pauly 6

1 Neighborhood Neighborhood

• k-nearest neighbors • Improvement: angle criterion (Linsen)

• project points onto tangent plane • can be quickly computed using spatial data- • sort neighbors according to angle structures (e.g. kd-tree, octree, bsp-tree) • include more points if angle between • requires isotropic point distribution subsequent points is above some threshold

Point-Based Computer Graphics Mark Pauly 7 Point-Based Computer Graphics Mark Pauly 8

Neighborhood Covariance Analysis

• Local Delaunay triangulation (Floater) • Covariance matrix of local neighborhood N:

T p − p p − p i1 i1 =   ⋅   ∈ C  L   L , i j N p − p p − p  in   in 

= 1 • project points into tangent plane • with centroid p ∑pi N ∈ • compute local Voronoi diagram i N

Point-Based Computer Graphics Mark Pauly 9 Point-Based Computer Graphics Mark Pauly 10

Covariance Analysis Covariance Analysis

• Consider the eigenproblem: • The total variation is given as: p − p 2 = λ + λ + λ ⋅ = λ ⋅ ∈ ∑ i 0 1 2 C vl l vl , l {0,1,2} i∈N • We define surface variation as: • C is a 3x3, positive semi-definite matrix λ Ö All eigenvalues are real-valued σ (p) = 0 , λ ≤ λ ≤ λ n λ + λ + λ 0 1 2 Ö The eigenvector with smallest eigenvalue defines the 0 1 2 least-squares plane through the points in the neighborhood, i.e. approximates the surface normal • measures the fraction of variation along the surface normal, i.e. quantifies how strong the surface deviates from the tangent plane Ö estimate for curvature

Point-Based Computer Graphics Mark Pauly 11 Point-Based Computer Graphics Mark Pauly 12

2 Covariance Analysis Surface Simplification

• Comparison with curvature: • Incremental clustering • Hierarchical clustering • Iterative simplification • Particle simulation

original mean curvature variation n=20 variation n=50

Point-Based Computer Graphics Mark Pauly 13 Point-Based Computer Graphics Mark Pauly 14

Incremental Clustering Incremental Clustering

• Clustering by region-growing: • Incremental growth leads to internal fragmentation Ö assign stray samples to closest cluster • Start with random seed point • Successively add nearest points to cluster until cluster reaches maximum size • Choose new seed from remaining points • Growth of clusters can also be bounded by surface variation Ö Curvature adaptive clustering • Note: this can increase maximum size and variation bounds!

Point-Based Computer Graphics Mark Pauly 15 Point-Based Computer Graphics Mark Pauly 16

Incremental Clustering Hierarchical Clustering

• Replace each cluster by its centroid • Top-down approach using binary space partition: • Split the point cloud if: • Size is larger than user-specified maximum or • Surface variation is above maximum threshold

• Split plane defined by centroid and axis of greatest variation (= eigenvector of covariance matrix with largest associated eigenvector) • Leaf nodes of the tree correspond to clusters original model with simplified model color-coded clusters (1,000 points) (34,384 points)

Point-Based Computer Graphics Mark Pauly 17 Point-Based Computer Graphics Mark Pauly 18

3 Hierarchical Clustering Hierarchical Clustering

• 2D example • Adaptive clustering

original model with simplified model color-coded clusters (1,000 points) (34,384 points)

Point-Based Computer Graphics Mark Pauly 19 Point-Based Computer Graphics Mark Pauly 20

Iterative Simplification Iterative Simplification

• Iteratively contracts point pairs • Quadric measures the squared distance to a set of Ö Each contraction reduces the number of points by one planes defined over edges of neighborhood e = p −p e = e ×n • Contractions are arranged in priority queue • plane spanned by vectors 1 i and 2 1 according to quadric error metric (Garland and Heckbert) n

• Quadric measures cost of contraction and e2 determines optimal position for contracted sample p e • Equivalent to QSlim except for definition of 1 approximating planes

pi

Point-Based Computer Graphics Mark Pauly 21 Point-Based Computer Graphics Mark Pauly 22

Iterative Simplification Particle Simulation

• Resample surface by distributing particles on the surface • Particles move on surface according to inter- particle repelling forces • Particle relaxation terminates when equilibrium is reached (requires damping) • Can also be used for up-sampling!

original model simplified model remaining point pair (187,664 points) (1,000 points) contraction candidates

Point-Based Computer Graphics Mark Pauly 23 Point-Based Computer Graphics Mark Pauly 24

4 Particle Simulation Particle Simulation

• Initialization • Adaptive simulation • randomly spread particles • Adjust repulsion radius according to surface variation Ö more samples in regions of high variation •Repulsion = − − ⋅ − • linear repulsion force F i ( p ) k ( r p p i ) ( p p i ) Öonly need to consider neighborhood of radius r •Projection • keep particles on surface by projecting onto tangent plane of closest point • apply full MLS projection at end of simulation original model simplified model (75,781 points) (6,000 points)

Point-Based Computer Graphics Mark Pauly 25 Point-Based Computer Graphics Mark Pauly 26

Particle Simulation Measuring Error

• User-controlled simulation • Measure the distance between two point-sampled • Adjust repulsion radius according to user input surfaces using a sampling approach ∆ ′ = ′ • Maximum error: max (S, S ) max q∈Q d(q, S ) Ö Two-sided Hausdorff distance ∆ ′ = 1 ′ • Mean error: avg (S, S ) ∑ d(q, S ) Q q∈Q Ö Area-weighted integral of point-to-surface distances •Q is an up-sampled version of the point cloud that describes the surface S

Point-Based Computer Graphics Mark Pauly 27 Point-Based Computer Graphics Mark Pauly 28

Measuring Error Comparison

• d(q, S′) measures the distance of point q to • Error estimate for Michelangelo’s David simplified surface S ′ using the MLS projection operator with from 2,000,000 points to 5,000 points linear basis functions

Point-Based Computer Graphics Mark Pauly 29 Point-Based Computer Graphics Mark Pauly 30

5 Comparison Comparison

• Execution time as a function of target model size • Execution time as a function of input model size (input: dragon, 535,545 points) (reduction to 1%)

Point-Based Computer Graphics Mark Pauly 31 Point-Based Computer Graphics Mark Pauly 32

Point-based vs. Mesh Comparison Simplification • Summary

Efficiency Surface Control Implementation Error Incremental + - - + Clustering Hierarchical + - - + Clustering point-based simplification with mesh reconstruction with subsequent Iterative - + o o subsequent mesh reconstruction mesh simplification (QSlim) Simplification Particle o + + - Ö point-based simplification saves an expensive Simulation surface reconstruction on the dense point cloud!

Point-Based Computer Graphics Mark Pauly 33 Point-Based Computer Graphics Mark Pauly 34

References

• Pauly, Gross: Efficient Simplification of Point- sampled Surfaces, IEEE Visualization 2002 • Shaffer, Garland: Efficient Adaptive Simplification of Massive Meshes, IEEE Visualization 2001 •Garland, Heckbert: Surface Simplification using Quadric Error Metrics, SIGGRAPH 1997 •Turk: Re-Tiling Polygonal Surfaces, SIGGRAPH 1992 •Alexa et al. Point Set Surfaces, IEEE Visualization 2001

Point-Based Computer Graphics Mark Pauly 35

6 Overview

•Introduction • Pointshop3D System Components • Point Cloud Parameterization An Interactive System for Point-based •Resampling Scheme Surface Editing •EditingOperators •Summary

Point-Based Computer Graphics Mark Pauly 1 Point-Based Computer Graphics Mark Pauly 2

PointShop3D Concept

• Interactive system for point-based surface editing Parameterization • Generalizes 2D photo editing concepts and functionality to 3D point-sampled surfaces • Uses 3D surface pixels (surfels) as versatile display and modeling primitive

v

u

Resampling Editing Operator

Point-Based Computer Graphics Mark Pauly 3 Point-Based Computer Graphics Mark Pauly 4

Key Components Parameterization

• Point cloud parameterization Φ • Constrained minimum distortion • brings surface and brush into common reference frame parameterization of point clouds • Dynamic resampling Ψ • creates one-to-one correspondence of surface and brush samples • Editing operator Ω x(u) 2   3 • combines surface and brush samples u∈ X u = y u = x∈ P ⊂ R [0,1] ⇒ ( )  ( ) z(u) S′ = Ω(Ψ(Φ(S)),Ψ(B))  

modified surface original surface brush

Point-Based Computer Graphics Mark Pauly 5 Point-Based Computer Graphics Mark Pauly 6

1 Parameterization Parameterization

• Find mapping X that minimizes objective function:

brush points surface points

C(X ) = (X (p ) − x )2 + ε γ (u)du ∑ j j ∫ j∈M { P contraints = matching minimum distortion = fitting constraints { of feature points maximum smoothness distortion

Point-Based Computer Graphics Mark Pauly 7 Point-Based Computer Graphics Mark Pauly 8

Parameterization Parameterization

• Measuring distortion • Discrete formulation:

2 2 θ 2  ∂  r n  ∂ ∂  γ = θ θ ~ 2 U (xi ) U (xi ) (u)  X u ( ,r) d C U = p −u + ε  −  ∫ ∂ 2  u ( ) ∑∑∑( j j ) ~ θ r ∈=∈ ∂v ∂v    j M iN1 j i  j j 

• Integrates squared curvature using local polar re-parameterization • Approximation: mapping is piecewise linear  cos(θ ) X (θ ,r) = X u + r  u   θ   sin( )

Point-Based Computer Graphics Mark Pauly 9 Point-Based Computer Graphics Mark Pauly 10

Parameterization Parameterization

• Directional derivatives as extension of divided • Multigrid solver for efficient computation of differences based on k-nearest neighbors resulting sparse linear least squares problem

n 2 ~ =  −  = − 2 C(U ) ∑∑b j a j,iui  b Au j  i=1 

Point-Based Computer Graphics Mark Pauly 11 Point-Based Computer Graphics Mark Pauly 12

2 Reconstruction Reconstruction

• Parameterized scattered data approximation

fitting functions weight functions Φ ∑ i (u)ri (u) X (u) = i r u ∑ i ( ) normalization factor i • Fitting functions • Compute local fitting functions using local reconstruction with weight functions in parameterizations linear fitting functions parameter space • Map to global parameterization using global parameter coordinates of neighboring points

Point-Based Computer Graphics Mark Pauly 13 Point-Based Computer Graphics Mark Pauly 14

Reconstruction Sampling

• Reconstruction with linear fitting functions is • Three sampling strategies: equivalent to surface splatting! • Resample the brush, i.e., sample at the original Ö we can use the surface splatting renderer to reconstruct our surface function (see chapter on rendering) surface points •This provides: • Resample the surface, i.e., sample at the brush • Fast evaluation points • Anti-aliasing (Band-limit the weight functions before • Adaptive resampling, i.e., sample at surface or sampling using Gaussian low-pass filter) brush points depending on the respective • Distortions of splats due to parameterization can be sampling density computed efficiently using local affine mappings

Point-Based Computer Graphics Mark Pauly 15 Point-Based Computer Graphics Mark Pauly 16

Editing Operators Editing Operators

•Painting •Sculpting • Texture, material properties, transparency • Carving, normal displacement

texture map displacement maps carved and texture mapped point-sampled surface

Point-Based Computer Graphics Mark Pauly 17 Point-Based Computer Graphics Mark Pauly 18

3 Editing Operators Summary

•Filtering • Pointshop3D provides sophisticated editing • Scalar attributes, geometry operations on point-sampled surfaces Öpoints are a versatile and powerful modeling primitive • Limitation: only works on “clean” models • sufficiently high sampling density • no outliers • little noise Örequires model cleaning (integrated or as pre- process)

Point-Based Computer Graphics Mark Pauly 19 Point-Based Computer Graphics Mark Pauly 20

Reference

• Zwicker, Pauly, Knoll, Gross: Pointshop3D: An interactive system for Point-based Surface Editing, SIGGRAPH 2002

•check out: www.pointshop3D.com

Point-Based Computer Graphics Mark Pauly 21

4