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 Polygonal image region with alpha mask blending Generic pattern for many textures texture patch
Patch Pasting texture patch surfacesurface “lapped textures”
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
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 TT SS BB CC AA (T)(T)(T)(T) (T)(T)(T)(T) (S)(S)(S)(S) (S)(S)(S)(S) (A)(A)(A)(A) (A)(A)(A)(A) (B)(B)(B)(B) (B)(B)(B)(B) (C)(C)(C)(C) (C)(C)(C)(C) tt^^ss ^^ face in 3D 2D 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
25 frames per sec! 256 x 256 texture (282 times) 256 x 256 texture (282 times) 15,000 faces
Limitations low- frequency components boundarymismatch
Conclusions Effective texturing through: Overlapping texture patche Minimal edge blending Direction and scale Runtime pasting
Thank you