Geometry Images Xiang Gu Harvard University Steven J. Gortler Harvard university Hugues Hoppe...

Post on 31-Dec-2015

217 views 0 download

Tags:

Transcript of Geometry Images Xiang Gu Harvard University Steven J. Gortler Harvard university Hugues Hoppe...

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