Upload
trevor-reeves
View
216
Download
0
Tags:
Embed Size (px)
Citation preview
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