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

Post on 14-Dec-2015

221 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

Transcript

Olga Sorkine and Daniel Cohen-Or

Tel-Aviv University

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.

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

• 3D mesh : geometry + topology

• Textures

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

Texture mapping encoding

• 3D mesh : geometry + topology

• Textures

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

uv

The problem:

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

We look for implicit representation of the texture mapping function.

How to compress UV-coordinates without compressing them?

How to compress UV-coordinates without compressing them?

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

Encoding - example

Flattening

Apply texture to flattened triangles

Original mesh

Original texture

Textured mesh (rendered)

Flattened mesh

Warped texture

Decoding - example

FlatteningOriginal mesh

Restored textured mesh (rendered)

Flattened mesh

Warped texture Fitting texture to each triangle

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

Non-distorting embedding

Unfolding with zero distortion:

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

Unfolding with zero distortion

• Artifacts in mip-mapping (due to fragmentation)

• Large “void” areas

Small distortion tolerance

Allow to stretch the triangles by some bounded factor.

Enables to create large continuous flat patches.

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.

Growing a patch

Seed triangle

Growing a patch

Growing a patch

Growing a patch

Growing a patch

Growing a patch

Embedding a vertex

In 3DIn 2D - unfold each triangle independently

Combine the three positions so that the distortion is minimal

x

z

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

Some results

The twisted loop model

Two of the five patches produced

The warped textures

The two patches created

Cone model rendered

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.

Olga Sorkine and Daniel Cohen-Or

Tel-Aviv University

Warped textures for UV mapping encoding

top related