Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein












































- Slides: 44
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 surface
Approach texture patch surface
The Patch texture patch • Polygonal image region with alpha mask blending • Generic pattern for many textures
Patch Pasting texture patch “lapped textures” surface
Algorithm - Outline Cut texture patches Specify direction and scale fields REPEAT 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 update UNTIL mesh is covered
Process texture patch surface
Process texture patch surface
Process texture patch surface
Process texture patch surface
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 patch surface
Tangential Vector Basis
Optimizing the Parametrization A (B ) T ^t (T ) ^ s (S ) S B C face in 3 D (A ) (C ) 2 D texture space
Optimizing the Parametrization 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
Tradeoffs Atlas + Faster rendering, more portable – Sampling artifacts Pasting – Increases model complexity + Effective resolution + Reusability of splotch parameterizations
Examples: Splotches
Examples: Anisotropic
Controlling Direction and Scale
256 x 256 texture (282 times) 15, 000 faces 25 frames per sec!
Limitations low-frequency components boundary mismatch
Conclusions Effective texturing through: Overlapping texture patche Minimal edge blending Direction and scale Runtime pasting
Thank you