Smooth Geometry Images Frank Losasso, Hugues Hoppe, Scott Schaefer, Joe Warren
Overview Provide a simple representation using a single uniform bi-cubic B-spline Multiple PatchesSingle Patch
Geometry Images Sample arbitrary surface using a regular 2D grid Connectivity is implicit [Gu et al 2002]
cut parametrize
cut sample
cut [r,g,b] = [x,y,z] render store [Gu et al 2002]
Supports surfaces of arbitrary genus But, boundary has complicated topology – requires sideband a a’ a a’ General cut [Gu et al 2002]
Our Approach: X-Cut Special type of cut curve Make a X-cut centered at x Unfold domain into a square image Creates simple boundary symmetries
The X-Cut
Spherical Remeshing demo image I domain D sphere S mesh M [Praun and Hoppe 2003]
How To Obtain Control Points B-spline is approximating should not directly sample surface Instead, use least-squares fitting:
How To Obtain Smoothness Application of boundary rules Pad image to recreate 1-ring around all vertices
How To Obtain Smoothness All vertices regular, except boundary midpoints generally not C 1 C1C1C1C1 Add a simple linear constraint
Bi-cubic Subdivision on GPU 4 operators, stored as fragment programs bilinear subdivision mesh averaging limit tangent repeat
4 operators, stored as fragment programs Bi-cubic Subdivision on GPU bilinear subdivision mesh averaging limit tangent repeat
Rendering “Interpret as vertex array” (OpenGL extension) Render using triangles
Discrete Subdivision Levels Both sub-sampling and subdivision are easily implemented Original Image …… SubsampledSubdivided …… (2 k +1) x (2 k +1)
Continuous Subdivision Levels Prevent ‘popping’ when changing subdivision levels gkgk g k+1
mesh averaging Continuous Subdivision Levels Prevent ‘popping’ when changing subdivision levels gkgk + 1- g k+ g k+1 linear subdivision bilinear subdivision
Real-Time Demo
Displacement Mapping 33x33 257x257 GPU GPU scalar displacement map CPU simulation
Performance Results
Drawbacks and Limitations Genus cannot be >0 Surface rippling
Summary Closed smooth surface using single patch Stored as geometry image Simple and efficient GPU evaluation Continuous level-of-detail Displacement mapping 5x59x9
Eye candy 65x6533x3365x65