Title: Lapped Textures
1Lapped Textures
- Emil Praun
- Adam Finkelstein
- Hugues Hoppe
Princeton University Princeton University Microsof
t Research
2Goal
mesh geometry
?
textured surface
example image
3Goal
- Little user effort
- No apparent seams
- No obvious periodicity
- Low distortion
- Local texture control
- Anisotropy
4Previous 2D Texture Synthesis
Histogram equalization Heeger 96 Laplacian
block shuffling de Bonet 97 Pixel template
matching Efros 99 Wei 00
5Previous 2D Texture Synthesis
Histogram equalization Heeger 96 Laplacian
block shuffling de Bonet 97 Pixel template
matching Efros 99 Wei 00 Random pasting of
image blocks Xu 00
6Previous 3D Texturing
- Volumetric textures
- Noise functions Perlin 85, Worley 96
- Solid textures by example Ghazanfarpour 96
- Synthesizing texture on a surface
- Reaction-diffusion Turk 91, Witkin 91
- Cellular textures Fleischer 95
- Covering surface with triangular tiles Neyret
99
7Approach
texture patch
surface
8Key Idea Patch Pasting
texture patch
lapped textures
surface
9PROCESS
10Algorithm
texture patch
surface
11Algorithm
texture patch
surface
12Algorithm
texture patch
surface
13Algorithm
texture patch
surface
14Issues
- Texture patch creation
- Specifying direction field
- Surface patch growth
- Patch parametrization
- Face coverage estimation
- Texture storage and rendering
15Issues
- Texture patch creation
- Specifying direction field
- Surface patch growth
- Patch parametrization
- Face coverage estimation
- Texture storage and rendering
16Texture Patch Creation
17Less Structure ? Splotch
18Issues
- Texture patch creation
- Specifying direction field
- Surface patch growth
- Patch parametrization
- Face coverage estimation
- Texture storage and rendering
19Direction Field User-specified
20Direction Field Local to Patch
21Issues
- Texture patch creation
- Specifying direction field
- Surface patch growth
- Patch parametrization
- Face coverage estimation
- Texture storage and rendering
22Patch Growth
23Patch Growth
24Patch Growth
25Patch Growth
26Patch Growth
27Patch Growth
28Patch Growth
29Issues
- Texture patch creation
- Specifying direction field
- Surface patch growth
- Patch parametrization
- Face coverage estimation
- Texture storage and rendering
30Align Patch to Direction Field
texture patch
surface
31Tangential Vector Field
32Optimizing the Parametrization
Least squares best match to unit axes Sparse
linear system. No explicit fairness functional
33Result of Optimization
34Issues
- Texture patch creation
- Specifying direction field
- Surface patch growth
- Patch parametrization
- Face coverage estimation
- Texture storage and rendering
35Coverage estimation
Render patch triangles Flag covered
triangles Remember 1 pixel per uncovered
triangle
36Coverage estimation
Render patch triangles Flag covered
triangles Remember 1 pixel per uncovered
triangle
37Coverage estimation
Render patch triangles Flag covered
triangles Remember 1 pixel per uncovered
triangle
38Issues
- Texture patch creation
- Specifying direction field
- Surface patch growth
- Patch parametrization
- Face coverage estimation
- Texture storage and rendering
39Texture Storage and Rendering
- Method 1 Texture Atlas
- Pre-composite into a global texture map.
- -- OR --
- Method 2 Runtime pasting
- Composite at run-time using hardware
40Method 1 Texture Atlas
- Patches of triangles with similar normals
- 2D packing problem for arbitrary polygons
41Method 2 Runtime Pasting
- Store vertex coordinates for each patch
- Composite at run-time using hardware
- May render triangles several times
42Atlas vs. Runtime Pasting
- Atlas
- Faster rendering, more portable
- Easy to paint unique details (eyes, nose on
bunny) - Sampling artifacts user effort
- Pasting
- Increases model complexity (? ?1.6 3)
- Huge effective resolution
- Reuse splotch parameterization for many textures
43RESULTS
44Results Splotches
(completely automatic no direction field)
45Results Anisotropic
46Controlling Direction and Scale
4725 frames per sec!
48Limitations
direction field singularities
low-frequency components
boundary mismatches
49Video
50Interactive Paint Demo
51Timings
- Texture patch creation 1 min
- Specifying direction field 15 min
- Surface patch growth
- Patch parameterization
- Face coverage estimation
- Rendering 25fps _at_ 10242
Human effort
Preprocessing 20sec 6 min
Pentium III 733MHz, GeForce graphics
52Conclusions
- Effective texture-by-example through
- ? Overlapping texture patches
- ? Minimal edge blending
- Aligning to direction field ? fast
optimization - Runtime pasting ? high effective resolution
53Future Work
- Other texture types
- Animated
- Thick (volumetric) textures ? fur
- NPR rendering
- Greater automation
- Fine-tuning patch placement