44
Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein Hugues Hoppe

Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein Hugues Hoppe

  • View
    215

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein Hugues Hoppe

Lapped Textures

SIGGRAPH 2000

Emil Praun

Adam Finkelstein

Hugues Hoppe

Page 2: 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

Page 3: Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein Hugues Hoppe

Lapped Textures: Definition

Repeatedly pasting texture patches onto an arbitrary surface until completely covered

Page 4: Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein Hugues Hoppe

Goal• No apparent

seams• No obvious

periodicity• Low distortion• Local texture

control• Anisotropy

Page 5: Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein Hugues Hoppe

In other words …

textured surfacetextured surface

?

Page 6: Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein Hugues Hoppe

Approach

texture patchtexture patch

surfacesurface

Page 7: Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein Hugues Hoppe

The Patch

• Polygonal image region with alpha mask blending

• Generic pattern for many textures

texture patchtexture patch

Page 8: Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein Hugues Hoppe

Patch Pasting

texture patchtexture patchtexture patchtexture patch

surfacesurfacesurfacesurface““lapped textures”lapped textures”

Page 9: Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein Hugues Hoppe

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

Page 10: Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein Hugues Hoppe

Process

texture patchtexture patch

surfacesurface

Page 11: Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein Hugues Hoppe

Process

texture patchtexture patch

surfacesurface

Page 12: Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein Hugues Hoppe

Process

texture patchtexture patch

surfacesurface

Page 13: Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein Hugues Hoppe

Process

texture patchtexture patch

surfacesurface

Page 14: Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein Hugues Hoppe

In Detail

• Texture patch creation

• Specifying direction field

• Surface patch growth

• Patch parametrization

• Texture storage and rendering

Page 15: Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein Hugues Hoppe

In Detail

• Texture patch creation

• Specifying direction field

• Surface patch growth

• Patch parametrization

• Texture storage and rendering

Page 16: Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein Hugues Hoppe

Texture Patch Creation

Structured

Splotch

Page 17: Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein Hugues Hoppe

In Detail

• Texture patch creation

• Specifying direction field

• Surface patch growth

• Patch parametrization

• Texture storage and rendering

Page 18: Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein Hugues Hoppe

Direction Field

Page 19: Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein Hugues Hoppe

In Detail

• Texture patch creation

• Specifying direction field

• Surface patch growth

• Patch parametrization

• Texture storage and rendering

Page 20: Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein Hugues Hoppe

Polygonal Hulls

• Start w/ boundary pixels, edges between neighbors

• Conservatively simplify polygons

Page 21: Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein Hugues Hoppe

Surface Patch Growth

Page 22: Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein Hugues Hoppe

Surface Patch Growth

Page 23: Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein Hugues Hoppe

Surface Patch Growth

Page 24: Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein Hugues Hoppe

Surface Patch Growth

Page 25: Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein Hugues Hoppe

Surface Patch Growth

Page 26: Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein Hugues Hoppe

Surface Patch Growth

Page 27: Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein Hugues Hoppe

Surface Patch Growth

Page 28: Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein Hugues Hoppe

In Detail

• Texture patch creation

• Specifying direction field

• Surface patch growth

• Patch parametrization

• Texture storage and rendering

Page 29: Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein Hugues Hoppe

Patch Alignment

texture patchtexture patch

surfacesurface

Page 30: Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein Hugues Hoppe

Tangential Vector Basis

Page 31: Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein Hugues Hoppe

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

Page 32: Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein Hugues Hoppe

Optimizing the Parametrization

Minimizing “Least Squares Functional”Minimizing “Least Squares Functional”Minimizing “Least Squares Functional”Minimizing “Least Squares Functional”

Page 33: Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein Hugues Hoppe

In Detail

• Texture patch creation

• Specifying direction field

• Surface patch growth

• Patch parametrization

• Texture storage and rendering

Page 34: Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein Hugues Hoppe

Texture Storage and Rendering

• Texture Atlas

– Pre-composite into a global texture map.

• Runtime pasting

– Composite at run-time using hardware

Page 35: Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein Hugues Hoppe

Texture Atlas

Patches of triangles with similar normals

Page 36: Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein Hugues Hoppe

Runtime Pasting• Store vertex coordinates for each patch

• Composite at run-time using hardware

• May render triangles several times

Page 37: Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein Hugues Hoppe

TradeoffsAtlas

+Faster rendering, more portable

– Sampling artifacts

Pasting

– Increases model complexity

+Effective resolution

+Reusability of splotch parameterizations

Page 38: Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein Hugues Hoppe

Examples: Splotches

Page 39: Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein Hugues Hoppe

Examples: Anisotropic

Page 40: Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein Hugues Hoppe

Controlling Direction and Scale

Page 41: Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein Hugues Hoppe

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

Page 42: Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein Hugues Hoppe

Limitations

low-low-frequencyfrequency

componentscomponents

boundaryboundarymismatchmismatch

Page 43: Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein Hugues Hoppe

Conclusions Effective texturing through:

Overlapping texture patche

Minimal edge blending

Direction and scale

Runtime pasting

Page 44: Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein Hugues Hoppe

Thank you