warped textures for uv mapping encoding

27
Olga Sorkine and Daniel Cohen-Or Tel-Aviv University Warped textures for UV mapping encoding

Upload: bianca

Post on 06-Jan-2016

46 views

Category:

Documents


0 download

DESCRIPTION

Warped textures for UV mapping encoding. Olga Sorkine and Daniel Cohen-Or Tel-Aviv University. Texture mapping encoding. 3D mesh : geometry + topology Textures Texture mapping function: each vertex has associated (u,v) coordinates in the texture image. Texture mapping encoding. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Warped textures for UV mapping encoding

Olga Sorkine and Daniel Cohen-Or

Tel-Aviv University

Warped textures for UV mapping encoding

Page 2: Warped textures for UV mapping encoding

Texture mapping encoding

• 3D mesh : geometry + topology

• Textures

• Texture mapping function: each vertex has associated (u,v) coordinates in the texture image.

Page 3: Warped textures for UV mapping encoding

Texture mapping encoding

• 3D mesh : geometry + topology

• Textures

• Texture mapping function: each vertex has associated (u,v) coordinates in the texture image.

Page 4: Warped textures for UV mapping encoding

Texture mapping encoding

• 3D mesh : geometry + topology

• Textures

• Texture mapping function: each vertex has associated (u,v) coordinates in the texture image.

Page 5: Warped textures for UV mapping encoding

Texture mapping encoding

• 3D mesh : geometry + topology

• Textures

• Texture mapping function: each vertex has associated (u,v) coordinates in the texture image.

uv

Page 6: Warped textures for UV mapping encoding

The problem:

Enumerating the (u,v) coordinates is an explicit mapping (space-inefficient).

We look for implicit representation of the texture mapping function.

Page 7: Warped textures for UV mapping encoding

How to compress UV-coordinates without compressing them?

Page 8: Warped textures for UV mapping encoding

How to compress UV-coordinates without compressing them?

The idea: warp the original textures in order to embed the texture mapping inside.

Page 9: Warped textures for UV mapping encoding

Encoding - example

Flattening

Apply texture to flattened triangles

Original mesh

Original texture

Textured mesh (rendered)

Flattened mesh

Warped texture

Page 10: Warped textures for UV mapping encoding

Decoding - example

FlatteningOriginal mesh

Restored textured mesh (rendered)

Flattened mesh

Warped texture Fitting texture to each triangle

Page 11: Warped textures for UV mapping encoding

Embedding requirements

• Distortion of each triangle is minimal

• Flat meshes (patches) produced can be fitted into rectangular images with minimal void area

• Small number of patches - to minimize seams between textures

Page 12: Warped textures for UV mapping encoding

Non-distorting embedding

Unfolding with zero distortion:

Embed each triangle separately or peel triangle strips from the mesh.

Page 13: Warped textures for UV mapping encoding

Unfolding with zero distortion

• Artifacts in mip-mapping (due to fragmentation)

• Large “void” areas

Page 14: Warped textures for UV mapping encoding

Small distortion tolerance

Allow to stretch the triangles by some bounded factor.

Enables to create large continuous flat patches.

Page 15: Warped textures for UV mapping encoding

Embedding algorithm

• Take a seed triangle, flatten it as is.• Proceed to flatten neighbours in BFS

order• If a triangle is distorted above

threshold, discard it from current patch• When no triangles can be flattened in

the current patch, start a new one.

Page 16: Warped textures for UV mapping encoding

Growing a patch

Seed triangle

Page 17: Warped textures for UV mapping encoding

Growing a patch

Page 18: Warped textures for UV mapping encoding

Growing a patch

Page 19: Warped textures for UV mapping encoding

Growing a patch

Page 20: Warped textures for UV mapping encoding

Growing a patch

Page 21: Warped textures for UV mapping encoding

Growing a patch

Page 22: Warped textures for UV mapping encoding

Embedding a vertex

In 3DIn 2D - unfold each triangle independently

Combine the three positions so that the distortion is minimal

x

z

Page 23: Warped textures for UV mapping encoding

Distortion metric

e1

e2

e3 e'1

e’2

e’3

Li = max{ei , e’i}

li = min{ei , e’i} i = 1, 2, 3

distortion = max{L1 / l1 , L2 / l2 , L3 / l3}

distortion 1; distortion = 1 the triangles are isometric

Page 24: Warped textures for UV mapping encoding

Some results

The twisted loop model

Two of the five patches produced

Page 25: Warped textures for UV mapping encoding

The warped textures

The two patches created

Cone model rendered

Page 26: Warped textures for UV mapping encoding

Advantages of implicit UV-mapping representation

• Only the mapped parts of texture images are used in the warped atlas

• With smart packing, the size of new warped textures isn’t significantly larger than the original images, and no (u,v) data is needed total size of texture mapping representation is smaller.

Page 27: Warped textures for UV mapping encoding

Olga Sorkine and Daniel Cohen-Or

Tel-Aviv University

Warped textures for UV mapping encoding