Olga Sorkine and Daniel Cohen-Or Tel-Aviv University Warped textures for UV mapping encoding.
-
Upload
eloise-christman -
Category
Documents
-
view
234 -
download
0
Transcript of Olga Sorkine and Daniel Cohen-Or Tel-Aviv University Warped textures for UV mapping encoding.
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