olga sorkine and daniel cohen-or tel-aviv university warped textures for uv mapping encoding
TRANSCRIPT
![Page 1: Olga Sorkine and Daniel Cohen-Or Tel-Aviv University Warped textures for UV mapping encoding](https://reader035.vdocuments.net/reader035/viewer/2022062407/56649c815503460f94939cd8/html5/thumbnails/1.jpg)
Olga Sorkine and Daniel Cohen-Or
Tel-Aviv University
Warped textures for UV mapping encoding
![Page 2: Olga Sorkine and Daniel Cohen-Or Tel-Aviv University Warped textures for UV mapping encoding](https://reader035.vdocuments.net/reader035/viewer/2022062407/56649c815503460f94939cd8/html5/thumbnails/2.jpg)
Texture mapping encoding
• 3D mesh : geometry + topology
• Textures
• Texture mapping function: each vertex has associated (u,v) coordinates in the texture image.
![Page 3: Olga Sorkine and Daniel Cohen-Or Tel-Aviv University Warped textures for UV mapping encoding](https://reader035.vdocuments.net/reader035/viewer/2022062407/56649c815503460f94939cd8/html5/thumbnails/3.jpg)
Texture mapping encoding
• 3D mesh : geometry + topology
• Textures
• Texture mapping function: each vertex has associated (u,v) coordinates in the texture image.
![Page 4: Olga Sorkine and Daniel Cohen-Or Tel-Aviv University Warped textures for UV mapping encoding](https://reader035.vdocuments.net/reader035/viewer/2022062407/56649c815503460f94939cd8/html5/thumbnails/4.jpg)
Texture mapping encoding
• 3D mesh : geometry + topology
• Textures
• Texture mapping function: each vertex has associated (u,v) coordinates in the texture image.
![Page 5: Olga Sorkine and Daniel Cohen-Or Tel-Aviv University Warped textures for UV mapping encoding](https://reader035.vdocuments.net/reader035/viewer/2022062407/56649c815503460f94939cd8/html5/thumbnails/5.jpg)
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: Olga Sorkine and Daniel Cohen-Or Tel-Aviv University Warped textures for UV mapping encoding](https://reader035.vdocuments.net/reader035/viewer/2022062407/56649c815503460f94939cd8/html5/thumbnails/6.jpg)
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: Olga Sorkine and Daniel Cohen-Or Tel-Aviv University Warped textures for UV mapping encoding](https://reader035.vdocuments.net/reader035/viewer/2022062407/56649c815503460f94939cd8/html5/thumbnails/7.jpg)
How to compress UV-coordinates without compressing them?
![Page 8: Olga Sorkine and Daniel Cohen-Or Tel-Aviv University Warped textures for UV mapping encoding](https://reader035.vdocuments.net/reader035/viewer/2022062407/56649c815503460f94939cd8/html5/thumbnails/8.jpg)
How to compress UV-coordinates without compressing them?
The idea: warp the original textures in order to embed the texture mapping inside.
![Page 9: Olga Sorkine and Daniel Cohen-Or Tel-Aviv University Warped textures for UV mapping encoding](https://reader035.vdocuments.net/reader035/viewer/2022062407/56649c815503460f94939cd8/html5/thumbnails/9.jpg)
Encoding - example
Flattening
Apply texture to flattened triangles
Original mesh
Original texture
Textured mesh (rendered)
Flattened mesh
Warped texture
![Page 10: Olga Sorkine and Daniel Cohen-Or Tel-Aviv University Warped textures for UV mapping encoding](https://reader035.vdocuments.net/reader035/viewer/2022062407/56649c815503460f94939cd8/html5/thumbnails/10.jpg)
Decoding - example
FlatteningOriginal mesh
Restored textured mesh (rendered)
Flattened mesh
Warped texture Fitting texture to each triangle
![Page 11: Olga Sorkine and Daniel Cohen-Or Tel-Aviv University Warped textures for UV mapping encoding](https://reader035.vdocuments.net/reader035/viewer/2022062407/56649c815503460f94939cd8/html5/thumbnails/11.jpg)
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: Olga Sorkine and Daniel Cohen-Or Tel-Aviv University Warped textures for UV mapping encoding](https://reader035.vdocuments.net/reader035/viewer/2022062407/56649c815503460f94939cd8/html5/thumbnails/12.jpg)
Non-distorting embedding
Unfolding with zero distortion:
Embed each triangle separately or peel triangle strips from the mesh.
![Page 13: Olga Sorkine and Daniel Cohen-Or Tel-Aviv University Warped textures for UV mapping encoding](https://reader035.vdocuments.net/reader035/viewer/2022062407/56649c815503460f94939cd8/html5/thumbnails/13.jpg)
Unfolding with zero distortion
• Artifacts in mip-mapping (due to fragmentation)
• Large “void” areas
![Page 14: Olga Sorkine and Daniel Cohen-Or Tel-Aviv University Warped textures for UV mapping encoding](https://reader035.vdocuments.net/reader035/viewer/2022062407/56649c815503460f94939cd8/html5/thumbnails/14.jpg)
Small distortion tolerance
Allow to stretch the triangles by some bounded factor.
Enables to create large continuous flat patches.
![Page 15: Olga Sorkine and Daniel Cohen-Or Tel-Aviv University Warped textures for UV mapping encoding](https://reader035.vdocuments.net/reader035/viewer/2022062407/56649c815503460f94939cd8/html5/thumbnails/15.jpg)
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: Olga Sorkine and Daniel Cohen-Or Tel-Aviv University Warped textures for UV mapping encoding](https://reader035.vdocuments.net/reader035/viewer/2022062407/56649c815503460f94939cd8/html5/thumbnails/16.jpg)
Growing a patch
Seed triangle
![Page 17: Olga Sorkine and Daniel Cohen-Or Tel-Aviv University Warped textures for UV mapping encoding](https://reader035.vdocuments.net/reader035/viewer/2022062407/56649c815503460f94939cd8/html5/thumbnails/17.jpg)
Growing a patch
![Page 18: Olga Sorkine and Daniel Cohen-Or Tel-Aviv University Warped textures for UV mapping encoding](https://reader035.vdocuments.net/reader035/viewer/2022062407/56649c815503460f94939cd8/html5/thumbnails/18.jpg)
Growing a patch
![Page 19: Olga Sorkine and Daniel Cohen-Or Tel-Aviv University Warped textures for UV mapping encoding](https://reader035.vdocuments.net/reader035/viewer/2022062407/56649c815503460f94939cd8/html5/thumbnails/19.jpg)
Growing a patch
![Page 20: Olga Sorkine and Daniel Cohen-Or Tel-Aviv University Warped textures for UV mapping encoding](https://reader035.vdocuments.net/reader035/viewer/2022062407/56649c815503460f94939cd8/html5/thumbnails/20.jpg)
Growing a patch
![Page 21: Olga Sorkine and Daniel Cohen-Or Tel-Aviv University Warped textures for UV mapping encoding](https://reader035.vdocuments.net/reader035/viewer/2022062407/56649c815503460f94939cd8/html5/thumbnails/21.jpg)
Growing a patch
![Page 22: Olga Sorkine and Daniel Cohen-Or Tel-Aviv University Warped textures for UV mapping encoding](https://reader035.vdocuments.net/reader035/viewer/2022062407/56649c815503460f94939cd8/html5/thumbnails/22.jpg)
Embedding a vertex
In 3DIn 2D - unfold each triangle independently
Combine the three positions so that the distortion is minimal
x
z
![Page 23: Olga Sorkine and Daniel Cohen-Or Tel-Aviv University Warped textures for UV mapping encoding](https://reader035.vdocuments.net/reader035/viewer/2022062407/56649c815503460f94939cd8/html5/thumbnails/23.jpg)
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: Olga Sorkine and Daniel Cohen-Or Tel-Aviv University Warped textures for UV mapping encoding](https://reader035.vdocuments.net/reader035/viewer/2022062407/56649c815503460f94939cd8/html5/thumbnails/24.jpg)
Some results
The twisted loop model
Two of the five patches produced
![Page 25: Olga Sorkine and Daniel Cohen-Or Tel-Aviv University Warped textures for UV mapping encoding](https://reader035.vdocuments.net/reader035/viewer/2022062407/56649c815503460f94939cd8/html5/thumbnails/25.jpg)
The warped textures
The two patches created
Cone model rendered
![Page 26: Olga Sorkine and Daniel Cohen-Or Tel-Aviv University Warped textures for UV mapping encoding](https://reader035.vdocuments.net/reader035/viewer/2022062407/56649c815503460f94939cd8/html5/thumbnails/26.jpg)
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: Olga Sorkine and Daniel Cohen-Or Tel-Aviv University Warped textures for UV mapping encoding](https://reader035.vdocuments.net/reader035/viewer/2022062407/56649c815503460f94939cd8/html5/thumbnails/27.jpg)
Olga Sorkine and Daniel Cohen-Or
Tel-Aviv University
Warped textures for UV mapping encoding