Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein Hugues Hoppe
Dec 20, 2015
Lapped Textures
SIGGRAPH 2000
Emil Praun
Adam Finkelstein
Hugues Hoppe
Traditional Approach: Problems
• Not view independent
• Seams between multiple images
• Lack of user control over local orientation and scaling of texture
Lapped Textures: Definition
Repeatedly pasting texture patches onto an arbitrary surface until completely covered
Goal• No apparent
seams• No obvious
periodicity• Low distortion• Local texture
control• Anisotropy
In other words …
textured surfacetextured surface
?
Approach
texture patchtexture patch
surfacesurface
The Patch
• Polygonal image region with alpha mask blending
• Generic pattern for many textures
texture patchtexture patch
Patch Pasting
texture patchtexture patchtexture patchtexture patch
surfacesurfacesurfacesurface““lapped textures”lapped textures”
Algorithm - OutlineCut texture patchesSpecify direction and scale fieldsREPEAT Select random texture patch T Select random uncovered location L Grow surface patch S around L to size of T Flatten S over T Paste and updateUNTIL mesh is covered
Process
texture patchtexture patch
surfacesurface
Process
texture patchtexture patch
surfacesurface
Process
texture patchtexture patch
surfacesurface
Process
texture patchtexture patch
surfacesurface
In Detail
• Texture patch creation
• Specifying direction field
• Surface patch growth
• Patch parametrization
• Texture storage and rendering
In Detail
• Texture patch creation
• Specifying direction field
• Surface patch growth
• Patch parametrization
• Texture storage and rendering
Texture Patch Creation
Structured
Splotch
In Detail
• Texture patch creation
• Specifying direction field
• Surface patch growth
• Patch parametrization
• Texture storage and rendering
Direction Field
In Detail
• Texture patch creation
• Specifying direction field
• Surface patch growth
• Patch parametrization
• Texture storage and rendering
Polygonal Hulls
• Start w/ boundary pixels, edges between neighbors
• Conservatively simplify polygons
Surface Patch Growth
Surface Patch Growth
Surface Patch Growth
Surface Patch Growth
Surface Patch Growth
Surface Patch Growth
Surface Patch Growth
In Detail
• Texture patch creation
• Specifying direction field
• Surface patch growth
• Patch parametrization
• Texture storage and rendering
Patch Alignment
texture patchtexture patch
surfacesurface
Tangential Vector Basis
Optimizing the ParametrizationOptimizing the
Parametrization
TTTTSSSS
BBBB
CCCC
AAAA
((TT))((TT))
((SS))((SS))
((AA))((AA))
((BB))((BB))
((CC))((CC))
tttt
ssss
face in 3Dface in 3Dface in 3Dface in 3D 2D texture space2D texture space2D texture space2D texture space
Optimizing the Parametrization
Minimizing “Least Squares Functional”Minimizing “Least Squares Functional”Minimizing “Least Squares Functional”Minimizing “Least Squares Functional”
In Detail
• Texture patch creation
• Specifying direction field
• Surface patch growth
• Patch parametrization
• Texture storage and rendering
Texture Storage and Rendering
• Texture Atlas
– Pre-composite into a global texture map.
• Runtime pasting
– Composite at run-time using hardware
Texture Atlas
Patches of triangles with similar normals
Runtime Pasting• Store vertex coordinates for each patch
• Composite at run-time using hardware
• May render triangles several times
TradeoffsAtlas
+Faster rendering, more portable
– Sampling artifacts
Pasting
– Increases model complexity
+Effective resolution
+Reusability of splotch parameterizations
Examples: Splotches
Examples: Anisotropic
Controlling Direction and Scale
25 frames25 framesper sec!per sec!
256 x 256256 x 256texturetexture
(282 times)(282 times)
256 x 256256 x 256texturetexture
(282 times)(282 times)
15,000 faces15,000 faces
Limitations
low-low-frequencyfrequency
componentscomponents
boundaryboundarymismatchmismatch
Conclusions Effective texturing through:
Overlapping texture patche
Minimal edge blending
Direction and scale
Runtime pasting
Thank you