Top Banner
Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein Hugues Hoppe
44

Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein Hugues Hoppe.

Dec 20, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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