marco tarini · kai hormann · paolo cignoni · claudio montani polycube-maps seamless texture...
Post on 20-Dec-2015
220 views
TRANSCRIPT
![Page 1: Marco Tarini · Kai Hormann · Paolo Cignoni · Claudio Montani PolyCube-Maps seamless texture mapping Visual Computing Lab · ISTI · CNR · Pisa, Italy](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d425503460f94a1e3fc/html5/thumbnails/1.jpg)
Our GoalOur Goal
• Texture mapping– seamless– hardware supported– low distortion– general object
![Page 2: Marco Tarini · Kai Hormann · Paolo Cignoni · Claudio Montani PolyCube-Maps seamless texture mapping Visual Computing Lab · ISTI · CNR · Pisa, Italy](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d425503460f94a1e3fc/html5/thumbnails/2.jpg)
Texture Atlas(multi-chart approach to parameterization)Texture Atlas(multi-chart approach to parameterization)
+ =
2D texture image textured bunny3D mesh
images courtesy of Lévy, Sylvain, Ray and Maillot , SIGGRAPH 02
disk-like patchestexture charts
u
v
![Page 3: Marco Tarini · Kai Hormann · Paolo Cignoni · Claudio Montani PolyCube-Maps seamless texture mapping Visual Computing Lab · ISTI · CNR · Pisa, Italy](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d425503460f94a1e3fc/html5/thumbnails/3.jpg)
Cube-MapsCube-Maps
• Typically used for environment mapping
images from Bubble demonstration program, nVidia
environment texturemesh
![Page 4: Marco Tarini · Kai Hormann · Paolo Cignoni · Claudio Montani PolyCube-Maps seamless texture mapping Visual Computing Lab · ISTI · CNR · Pisa, Italy](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d425503460f94a1e3fc/html5/thumbnails/4.jpg)
Abusing Cube-MapsAbusing Cube-Maps
• What if we store surface color in a cube-map?
+ =
meshwith per-vertex
3D texture coord. (u,v,w) cube-map textured apple
u
v
w
object spacetexture spaceobject space
![Page 5: Marco Tarini · Kai Hormann · Paolo Cignoni · Claudio Montani PolyCube-Maps seamless texture mapping Visual Computing Lab · ISTI · CNR · Pisa, Italy](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d425503460f94a1e3fc/html5/thumbnails/5.jpg)
texture
fromchart
A
texturefrom
chart B
• cube-map– seamless– a triangle can span multiple
faces– mesh independent– mipmapping ok– no packing: no wasted texels– no boundaries, no artifacts– texel neighbors always
defined
• texture atlas– seams– a triangle cannot span
multiple charts– mesh dependency– mipmapping difficult– chart packing: wasted
texels– artifacts at boundaries– no defined neighbors
for boundary texels
![Page 6: Marco Tarini · Kai Hormann · Paolo Cignoni · Claudio Montani PolyCube-Maps seamless texture mapping Visual Computing Lab · ISTI · CNR · Pisa, Italy](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d425503460f94a1e3fc/html5/thumbnails/6.jpg)
• cube-map– seamless– a triangle can span multiple
faces– mesh independent– mipmapping ok– no packing: no wasted texels– no boundaries, no artifacts– texel neighbors always
defined
• texture atlas– seams– a triangle cannot span
multiple charts– mesh dependency– mipmapping difficult– chart packing: wasted
texels– artifacts at boundaries– no defined neighbors
for boundary texels
texture
fromchart
A
texturefrom
chart B
![Page 7: Marco Tarini · Kai Hormann · Paolo Cignoni · Claudio Montani PolyCube-Maps seamless texture mapping Visual Computing Lab · ISTI · CNR · Pisa, Italy](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d425503460f94a1e3fc/html5/thumbnails/7.jpg)
• cube-map– seamless– a triangle can span multiple
faces– mesh independent– mipmapping ok– no packing: no wasted texels– no boundaries, no artifacts– texel neighbors always
defined
• texture atlas– seams– a triangle cannot span
multiple charts– mesh dependency– mipmapping difficult– chart packing: wasted
texels– artifacts at boundaries– no defined neighbors
for boundary texels
![Page 8: Marco Tarini · Kai Hormann · Paolo Cignoni · Claudio Montani PolyCube-Maps seamless texture mapping Visual Computing Lab · ISTI · CNR · Pisa, Italy](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d425503460f94a1e3fc/html5/thumbnails/8.jpg)
• cube-map– seamless– a triangle can span multiple
faces– mesh independent– mipmapping ok– no packing: no wasted texels– no boundaries, no artifacts– texel neighbors always
defined
• texture atlas– seams– a triangle cannot span
multiple charts– mesh dependency– mipmapping difficult– chart packing: wasted
texels– artifacts at boundaries– no defined neighbors
for boundary texels
![Page 9: Marco Tarini · Kai Hormann · Paolo Cignoni · Claudio Montani PolyCube-Maps seamless texture mapping Visual Computing Lab · ISTI · CNR · Pisa, Italy](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d425503460f94a1e3fc/html5/thumbnails/9.jpg)
• cube-map– seamless– a triangle can span multiple
faces– mesh independent– mipmapping ok– no packing: no wasted texels– no boundaries, no artifacts– texel neighbors always
defined
• texture atlas– seams– a triangle cannot span
multiple charts– mesh dependency– mipmapping difficult– chart packing: wasted
texels– artifacts at boundaries– no defined neighbors
for boundary texels
![Page 10: Marco Tarini · Kai Hormann · Paolo Cignoni · Claudio Montani PolyCube-Maps seamless texture mapping Visual Computing Lab · ISTI · CNR · Pisa, Italy](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d425503460f94a1e3fc/html5/thumbnails/10.jpg)
• cube-map– seamless– a triangle can span multiple
faces– mesh independent– mipmapping ok– no packing: no wasted texels– no boundaries, no artifacts– texel neighbors always
defined
– does not (~spheres only!)
• texture atlas– seams
– a triangle cannot span multiple charts
– mesh dependency
– mipmapping difficult
– chart packing: wasted texels
– artifacts at boundaries
– no defined neighbors for boundary texels
– works (is general)
![Page 11: Marco Tarini · Kai Hormann · Paolo Cignoni · Claudio Montani PolyCube-Maps seamless texture mapping Visual Computing Lab · ISTI · CNR · Pisa, Italy](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d425503460f94a1e3fc/html5/thumbnails/11.jpg)
interpolated coordinatesin 3D texture space
…from
rasterizer
What we Keep from CubeMapsWhat we Keep from CubeMaps
FR
AG
ME
NT
SH
AD
ER
coordinates in 3D texture domain
(a 2-manifold similar to the mesh)
coordinatesin 2D texture domain
projection
2D texturefetch…
mapping
• Per-fragment• Hardware
implemented
• Texture defined in 3D BUT stored in 2D
![Page 12: Marco Tarini · Kai Hormann · Paolo Cignoni · Claudio Montani PolyCube-Maps seamless texture mapping Visual Computing Lab · ISTI · CNR · Pisa, Italy](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d425503460f94a1e3fc/html5/thumbnails/12.jpg)
Going Beyond ApplesGoing Beyond Apples
• Cube-Maps work well only for sphere-like objects
sphere-like mesh cubic texture domain
texture spaceworld space
![Page 13: Marco Tarini · Kai Hormann · Paolo Cignoni · Claudio Montani PolyCube-Maps seamless texture mapping Visual Computing Lab · ISTI · CNR · Pisa, Italy](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d425503460f94a1e3fc/html5/thumbnails/13.jpg)
?
Going Beyond ApplesGoing Beyond Apples
• But for more general objects?
texture spaceworld space
arbitrary meshes cubic texture domain
![Page 14: Marco Tarini · Kai Hormann · Paolo Cignoni · Claudio Montani PolyCube-Maps seamless texture mapping Visual Computing Lab · ISTI · CNR · Pisa, Italy](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d425503460f94a1e3fc/html5/thumbnails/14.jpg)
?
Going Beyond ApplesGoing Beyond Apples
• But for more general objects?
texture spaceworld space
arbitrary meshes cubic texture domain
[Praun Hoppe SIGGGRAPH 2003]
...huge distortions,incompatible topology
![Page 15: Marco Tarini · Kai Hormann · Paolo Cignoni · Claudio Montani PolyCube-Maps seamless texture mapping Visual Computing Lab · ISTI · CNR · Pisa, Italy](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d425503460f94a1e3fc/html5/thumbnails/15.jpg)
Going Beyond ApplesGoing Beyond Apples
• But for more general objects?
texture spaceworld space
arbitrary mesh coarse mesh
far too complex
(GPU)
![Page 16: Marco Tarini · Kai Hormann · Paolo Cignoni · Claudio Montani PolyCube-Maps seamless texture mapping Visual Computing Lab · ISTI · CNR · Pisa, Italy](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d425503460f94a1e3fc/html5/thumbnails/16.jpg)
Space & DomainSpace & Domain
•R3 -Object space
•T3 -3D texture space
R3
T3
T3 T2
•T3 -3D texture domain
•T2 -2D texture domain
![Page 17: Marco Tarini · Kai Hormann · Paolo Cignoni · Claudio Montani PolyCube-Maps seamless texture mapping Visual Computing Lab · ISTI · CNR · Pisa, Italy](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d425503460f94a1e3fc/html5/thumbnails/17.jpg)
Introducing PolycubesIntroducing Polycubes
Po·ly·cube: n. (Geom.) A solid composed by multiple unit cubes attached face to face
surface of a polycubeas 3D texture domain T3
![Page 18: Marco Tarini · Kai Hormann · Paolo Cignoni · Claudio Montani PolyCube-Maps seamless texture mapping Visual Computing Lab · ISTI · CNR · Pisa, Italy](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d425503460f94a1e3fc/html5/thumbnails/18.jpg)
mesh polycube
Choosing a PolycubeChoosing a Polycube
• Polycube should roughly resemble the mesh
texture spaceworld space
![Page 19: Marco Tarini · Kai Hormann · Paolo Cignoni · Claudio Montani PolyCube-Maps seamless texture mapping Visual Computing Lab · ISTI · CNR · Pisa, Italy](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d425503460f94a1e3fc/html5/thumbnails/19.jpg)
ProcessProcess
1. Assign each vertex v of the mesha unique 3D texture position
2. At rendering time• Vertices, 3D texture positions
→ Graphics pipeline → Rasterizer (interpolates 3D texture position fI3
for every produced fragment f ) → Pass fI3 into fragment shader
vT3 = (vr, vs, vt) ∈ T3
![Page 20: Marco Tarini · Kai Hormann · Paolo Cignoni · Claudio Montani PolyCube-Maps seamless texture mapping Visual Computing Lab · ISTI · CNR · Pisa, Italy](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d425503460f94a1e3fc/html5/thumbnails/20.jpg)
T3
T3
ProcessProcess
• Problem: Even if all 3D texture positions vT3 line on T3 , this is not necessarily the case for the interpolated 3D texture position fI3
• Fragment shader
– Projection P: T3 → T3
– Mapping M: T3 → T2
R3
T2
![Page 21: Marco Tarini · Kai Hormann · Paolo Cignoni · Claudio Montani PolyCube-Maps seamless texture mapping Visual Computing Lab · ISTI · CNR · Pisa, Italy](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d425503460f94a1e3fc/html5/thumbnails/21.jpg)
Projection & MappingProjection & Mapping
3D texture space T3
3D texture domain
T3
Most important feature of PolyCube-Maps: Continuously → seamless texture mapping (texture information itself is stored as a collection of square images)
2D analogue
texture stored in 1D
values definedin a 2D space
![Page 22: Marco Tarini · Kai Hormann · Paolo Cignoni · Claudio Montani PolyCube-Maps seamless texture mapping Visual Computing Lab · ISTI · CNR · Pisa, Italy](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d425503460f94a1e3fc/html5/thumbnails/22.jpg)
How PolyCube-Maps Work?How PolyCube-Maps Work?
• Dual partition – cubic cells
• Cell configurations -- facelets
• The projection P P
• The mapping M M
![Page 23: Marco Tarini · Kai Hormann · Paolo Cignoni · Claudio Montani PolyCube-Maps seamless texture mapping Visual Computing Lab · ISTI · CNR · Pisa, Italy](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d425503460f94a1e3fc/html5/thumbnails/23.jpg)
dual grid
Partition of Texture SpacePartition of Texture Space
polycube
2D analogue
case A
case B
cell
![Page 24: Marco Tarini · Kai Hormann · Paolo Cignoni · Claudio Montani PolyCube-Maps seamless texture mapping Visual Computing Lab · ISTI · CNR · Pisa, Italy](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d425503460f94a1e3fc/html5/thumbnails/24.jpg)
Partition of the Parameter SpaceCell Configurations and The Projection PPPartition of the Parameter SpaceCell Configurations and The Projection PP
back to 3Dcase 3 case 4-a case 4-b case 5 case 6-a case 6-b
facelet
squarelet texture patchS
![Page 25: Marco Tarini · Kai Hormann · Paolo Cignoni · Claudio Montani PolyCube-Maps seamless texture mapping Visual Computing Lab · ISTI · CNR · Pisa, Italy](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d425503460f94a1e3fc/html5/thumbnails/25.jpg)
The Mapping MMThe Mapping MM
• The upper left corner can be stored as a global 2D offset for each particular cell
• Local offsets don’t need to be stored
• A point p∈T3 inside a cell (3 steps)– relative position of p inside the containing facelet is
determined → multiplied with S to give the relative position in the corresponding squarelet
– offset the result according to the fixed packing of the squarelets inside the texture patch
– global offset of that patch in T2 is added
![Page 26: Marco Tarini · Kai Hormann · Paolo Cignoni · Claudio Montani PolyCube-Maps seamless texture mapping Visual Computing Lab · ISTI · CNR · Pisa, Italy](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d425503460f94a1e3fc/html5/thumbnails/26.jpg)
A Simple PolyCube-Map exampleA Simple PolyCube-Map example
Subdivide into 8 cells of type 3
Each cell contains three facelets thatsotred as a set of three texture squarelets
![Page 27: Marco Tarini · Kai Hormann · Paolo Cignoni · Claudio Montani PolyCube-Maps seamless texture mapping Visual Computing Lab · ISTI · CNR · Pisa, Italy](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d425503460f94a1e3fc/html5/thumbnails/27.jpg)
partition of theparameter spacepartition of theparameter space
back to 3D
dual cells
case 3
case 4-a
case 4-b
case 5
![Page 28: Marco Tarini · Kai Hormann · Paolo Cignoni · Claudio Montani PolyCube-Maps seamless texture mapping Visual Computing Lab · ISTI · CNR · Pisa, Italy](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d425503460f94a1e3fc/html5/thumbnails/28.jpg)
partition of theparameter spacepartition of theparameter space
case 3
case 4-a
case 4-b
case 5
dual cells
![Page 29: Marco Tarini · Kai Hormann · Paolo Cignoni · Claudio Montani PolyCube-Maps seamless texture mapping Visual Computing Lab · ISTI · CNR · Pisa, Italy](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d425503460f94a1e3fc/html5/thumbnails/29.jpg)
3D Look-up Table3D Look-up Table
• Store cell-structure of TT33 in 3D look-up table TT33
LUTLUT (define each cell through a set of
parameters in the corresponding entry of TT33LUTLUT)
• Processing a fragment ff (fragment shader)– determine the cell that contains the ffI3I3
– access to TT33LUTLUT at the corresponding entry
returns all the parameters needed to compute PP and MM (use to find the final 2D texture position ffT2 T2 ∈TT22 )
![Page 30: Marco Tarini · Kai Hormann · Paolo Cignoni · Claudio Montani PolyCube-Maps seamless texture mapping Visual Computing Lab · ISTI · CNR · Pisa, Italy](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d425503460f94a1e3fc/html5/thumbnails/30.jpg)
3D Look-up Table – Parameter3D Look-up Table – Parameter
• Each entry of TT33LUTLUT is packed in one
(r, g, b)-texel• An entry e is composed of 3 parts
– e.Ce.C – cell configurations (index)– e.Re.R – axis-to-axis rotation (index)– e.Oe.O – global offset of the patch (in TT22)
• TT33LUTLUT is always smaller than on Kilo texel
• TT22 can be several Mega texels• Construction of the look-up table !!
![Page 31: Marco Tarini · Kai Hormann · Paolo Cignoni · Claudio Montani PolyCube-Maps seamless texture mapping Visual Computing Lab · ISTI · CNR · Pisa, Italy](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d425503460f94a1e3fc/html5/thumbnails/31.jpg)
stored in texture RAM as:
a packed texture image
texture space (3D!)
the polycube
polycube-maps in a nutshellpolycube-maps in a nutshell
object space
plus a tiny structure to store polycube layoutthe mesh
(with per-vertex text. coord)
uv
w
not necessarilyon the polycubesurface: project
map to 2D
a fragmentwith interpolated
texture coord
final texel valuefor the fragment
![Page 32: Marco Tarini · Kai Hormann · Paolo Cignoni · Claudio Montani PolyCube-Maps seamless texture mapping Visual Computing Lab · ISTI · CNR · Pisa, Italy](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d425503460f94a1e3fc/html5/thumbnails/32.jpg)
Examples of poly-cubic parameterizationsExamples of poly-cubic parameterizations
texture space
polycube-map
world space
in texture RAM
uv
w
object
![Page 33: Marco Tarini · Kai Hormann · Paolo Cignoni · Claudio Montani PolyCube-Maps seamless texture mapping Visual Computing Lab · ISTI · CNR · Pisa, Italy](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d425503460f94a1e3fc/html5/thumbnails/33.jpg)
Examples of poly-cubic parameterizationsExamples of poly-cubic parameterizations
texture space
polycube-map
world space
u
v
w
object
![Page 34: Marco Tarini · Kai Hormann · Paolo Cignoni · Claudio Montani PolyCube-Maps seamless texture mapping Visual Computing Lab · ISTI · CNR · Pisa, Italy](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d425503460f94a1e3fc/html5/thumbnails/34.jpg)
Examples of poly-cubic parameterizationsExamples of poly-cubic parameterizations
texture space
polycube-map
world space
u
v
w
object
![Page 35: Marco Tarini · Kai Hormann · Paolo Cignoni · Claudio Montani PolyCube-Maps seamless texture mapping Visual Computing Lab · ISTI · CNR · Pisa, Italy](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d425503460f94a1e3fc/html5/thumbnails/35.jpg)
Examples of poly-cubic parameterizationsExamples of poly-cubic parameterizations
texture space
polycube-map
world space
object
uv
w
![Page 36: Marco Tarini · Kai Hormann · Paolo Cignoni · Claudio Montani PolyCube-Maps seamless texture mapping Visual Computing Lab · ISTI · CNR · Pisa, Italy](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d425503460f94a1e3fc/html5/thumbnails/36.jpg)
An example application: same texture for different LODAn example application: same texture for different LOD
Geo
met
ry 2
Geo
met
ry 1
Geo
met
ry 3
+
+
+
=
=
=
u
v
w
the same polycube-map
texture
![Page 37: Marco Tarini · Kai Hormann · Paolo Cignoni · Claudio Montani PolyCube-Maps seamless texture mapping Visual Computing Lab · ISTI · CNR · Pisa, Italy](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d425503460f94a1e3fc/html5/thumbnails/37.jpg)
How to build aPolycube-Map (for a given mesh)
How to build aPolycube-Map (for a given mesh)
• Not automatic, to this point– get a suitable
polycube– warp it around
the mesh– project mesh over it– unwarp – global optimization
MT3
projectwarp
-1
optimize
warp
![Page 38: Marco Tarini · Kai Hormann · Paolo Cignoni · Claudio Montani PolyCube-Maps seamless texture mapping Visual Computing Lab · ISTI · CNR · Pisa, Italy](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d425503460f94a1e3fc/html5/thumbnails/38.jpg)
Global optimizationGlobal optimization
projection(not optimized)
mean value MIPS ext. MIPS
![Page 39: Marco Tarini · Kai Hormann · Paolo Cignoni · Claudio Montani PolyCube-Maps seamless texture mapping Visual Computing Lab · ISTI · CNR · Pisa, Italy](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d425503460f94a1e3fc/html5/thumbnails/39.jpg)
Most Isometric ParametrizationSMost Isometric ParametrizationS
the horse head model parameterized using different angle/area preservation tradeoffs
θ = 0.3 θ = 1.0 θ = 3.0
![Page 40: Marco Tarini · Kai Hormann · Paolo Cignoni · Claudio Montani PolyCube-Maps seamless texture mapping Visual Computing Lab · ISTI · CNR · Pisa, Italy](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d425503460f94a1e3fc/html5/thumbnails/40.jpg)
Experimental ResultsExperimental Results
distortion Stretch efficiency
area angle T3 → M M → T3 [Gu] [Praun]
3-holes 1.003 1.011 0.986 0.986
Laurana 1.141 1.101 0.795 0.745
Bunny 1.034 1.069 0.892 0.913 0.639 0.703
armadillo 1.224 1.318 0.616 0.577 0.607 0.465
Frame Rate30 fps (mip-mapping)10 fps (mip-mapping + bilinear interpolation)
nVIDIA GeForce FX 5600 ATI Radeon 9800 ProoPentium 4 2.4 Ghz
![Page 41: Marco Tarini · Kai Hormann · Paolo Cignoni · Claudio Montani PolyCube-Maps seamless texture mapping Visual Computing Lab · ISTI · CNR · Pisa, Italy](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d425503460f94a1e3fc/html5/thumbnails/41.jpg)
DiscussionDiscussion
Pros• truly seamless texture
mapping• no patch boundaries• no color bleeding• very low distortion• nearly optimal texture
packing• bilinear filtering possible• mipmapping possible• mesh independency
Cons• long fragment program
– ~60 GPU instruction long– could be improved, with
little branching support
• 3 t-coords per vertex– instead of 2
Limits• cannot handle arbitrary
shape/topology complexity– e.g. a tree
![Page 42: Marco Tarini · Kai Hormann · Paolo Cignoni · Claudio Montani PolyCube-Maps seamless texture mapping Visual Computing Lab · ISTI · CNR · Pisa, Italy](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d425503460f94a1e3fc/html5/thumbnails/42.jpg)
Thank you! Questions?Thank you! Questions?
http://vcg.isti.cnr.it/~polycubemaps/http://vcg.isti.cnr.it/~polycubemaps/
or, just Google for “polycube-map”or, just Google for “polycube-map”
http://vcg.isti.cnr.it/~polycubemaps/http://vcg.isti.cnr.it/~polycubemaps/
or, just Google for “polycube-map”or, just Google for “polycube-map”
Marco Tarini Marco Tarini ·· Kai Hormann Kai Hormann ·· Paolo Cignoni Paolo Cignoni ·· Claudio Montani Claudio MontaniMarco Tarini Marco Tarini ·· Kai Hormann Kai Hormann ·· Paolo Cignoni Paolo Cignoni ·· Claudio Montani Claudio MontaniVisual Computing Lab Visual Computing Lab · · ISTI ISTI · · CNR CNR ·· Pisa, Italy Pisa, ItalyVisual Computing Lab Visual Computing Lab · · ISTI ISTI · · CNR CNR ·· Pisa, Italy Pisa, Italy
![Page 43: Marco Tarini · Kai Hormann · Paolo Cignoni · Claudio Montani PolyCube-Maps seamless texture mapping Visual Computing Lab · ISTI · CNR · Pisa, Italy](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d425503460f94a1e3fc/html5/thumbnails/43.jpg)
Q: Aren’t cubemaps just another atlas?Q: Aren’t cubemaps just another atlas?
texture charts?
chart boundaries?
A: true, but such chart borders are:
• transparent for triangles• invisible for mipmapping...• hidden from the user
uv
w
![Page 44: Marco Tarini · Kai Hormann · Paolo Cignoni · Claudio Montani PolyCube-Maps seamless texture mapping Visual Computing Lab · ISTI · CNR · Pisa, Italy](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d425503460f94a1e3fc/html5/thumbnails/44.jpg)
Q: isn’t it a lot of work to build a polycube map?Q: isn’t it a lot of work to build a polycube map?
• Polycube-maps
– Get a fitting polycube
– Warp it around mesh
– Project mesh over it– Unwarp back– Global optimization
• Atlases
– Find a good division into disk-like patches
– Pack charts togheter
– Global optimization
![Page 45: Marco Tarini · Kai Hormann · Paolo Cignoni · Claudio Montani PolyCube-Maps seamless texture mapping Visual Computing Lab · ISTI · CNR · Pisa, Italy](https://reader036.vdocuments.site/reader036/viewer/2022062320/56649d425503460f94a1e3fc/html5/thumbnails/45.jpg)
Q: isn’t it a lot of work to build a polycube map?Q: isn’t it a lot of work to build a polycube map?
• Polycube-maps– New.
Not studied at all.– Future work: design
tools to make task a lot easier (but still user guided)
– In any case, final result will be clean (seamless...)
• Atlases– Very much studied
problem– Automatic results
inferior w.r.t. manual results
– In any case, final parameterization bound to have drawbacks (seams...)