geometry images xiang gu harvard university steven j. gortler harvard university hugues hoppe...
TRANSCRIPT
Geometry Images
Xiang Gu
Harvard University
Steven J. Gortler
Harvard university
Hugues Hoppe
Microsoft Research
•Some slides taken from Hugues Hoppe
Background
• Modeling geometry with (triangular) meshes
• regular / iregular meshes
• current tecniques form semi-regular meshes
• typically: cut into disks
parametrize each disk
each disk is regular
all disks are iregular network
Advantages of Regularity
• Improved compression (implicit connectivity)
• Reduce tangent non-uniformity
• Better start for hirarchial resolution
Introduction
• Remesh into a completely regular structure
• geometry as 2D array of points
• more arrays for “surface signals”:– normals– colours– texture
• encode as RGB picture
The General Algorithm
• Cut the mesh
• parametrize into an n*n square
• [x,y,z] <==> [R,G,B]
• encode using image compression algorithms
• other attributes - additional images
• implicit parametrization
Challenges
• Find a “good cut” (form a disk-like surface)
• Avoid “cracks in the cut” along the boundary
• Evenly distributing parametrization
• lossy compression - cut fusing
Creating The Geometry Image
The Cut
• Cut = set of edges
• M = Original mesh M’ = New mesh
mates
Split
• Split (non boundary) edges
• form “open cut” ’’ is a directed loop = edge of M’
Split - cont.
• Valence k ==> k replications
• valence 2 ==> “cut node”
Cut Path
• Path between 2 ordered cut nodes of ’
• mate to cut path
Parametrization
• (piecewise) linear map : [n * n] => [vM’]
• resample mesh at grid
• triangle interpolation
Parametrization
Boundary parametrization
• Map ’ ==> boundary of square
• cut nodes => on grid
• cut mates => same length
Boundary parametrization - cont.
• How is it done?– Allocate proportional length– redistribute
Boundary parametrization - cont.
• Avoid degeneracies:– no full triangle on 1 side (split middle)– break edges over corners (add vertex)
Interior parametrization
• Geometric stretch parametrization– minimize spacing on surface (parameters
distribute evenly)– P.V. Sander, J. Snyder, S.J. Gortler and H.
Hoppe. Texture mapping progressive meshes.
• Also serves as metric for mesh
Cutting
Initial Cut
• Fact:– genus 0 ==> 1 edge cut– genus g ==> 2g generator loops cut (that form
basis to surface’s fundamental group)
Find the cut - retractor algorithm
• Remove a seed triangle
• Repeatedly remove an edge adjacent to exactly 1 triangle and the triangle
• Repeatedly remove ‘dandling’ edges (vertices with degree 1 + the edge)
• do not change boundary (if exists)
Original mesh
Remove seed triangle
Remove edges and triangles
Iterate
Done: no triangles left (no faces)
Remove dandling edges
Iterate
We are left with this:
Initial Cut
• Result of the algorithm:– generator loops (genus > 0)– one vertex (genus 0)
• if 1 vertex : add 2 more (adjacent)
Iterated Cut Augmentation
• Parametrize on unit circle (Floater)– M. Floater. Parametrization and smooth
approximation of surface triangulations.
• Find vertex with highest geometric stretch
• Find shortest path to boundary
• Add path to cut
• Stop when geometric stretch increases
• for genus 0: disregard original cut
Putting it all together
Rendering
Compression
Again this Crack!
Topological Sideband
• Table of nodes in • for each node, record:
– valence (k)– k coordinate pairs (s,t)
• Deduce ’ matching from the table
• “Fuse cut” using matchings