Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein

  • Slides: 44
Download presentation
Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein Hugues Hoppe

Lapped Textures SIGGRAPH 2000 Emil Praun Adam Finkelstein Hugues Hoppe

Traditional Approach: Problems • Not view independent • Seams between multiple images • Lack

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

Lapped Textures: Definition Repeatedly pasting texture patches onto an arbitrary surface until completely covered

Goal • No apparent seams • No obvious periodicity • Low distortion • Local

Goal • No apparent seams • No obvious periodicity • Low distortion • Local texture control • Anisotropy

In other words … ? textured surface

In other words … ? textured surface

Approach texture patch surface

Approach texture patch surface

The Patch texture patch • Polygonal image region with alpha mask blending • Generic

The Patch texture patch • Polygonal image region with alpha mask blending • Generic pattern for many textures

Patch Pasting texture patch “lapped textures” surface

Patch Pasting texture patch “lapped textures” surface

Algorithm - Outline Cut texture patches Specify direction and scale fields REPEAT Select random

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

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

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

In Detail • • • Texture patch creation Specifying direction field Surface patch growth Patch parametrization Texture storage and rendering

Texture Patch Creation Structured Splotch

Texture Patch Creation Structured Splotch

In Detail • • • Texture patch creation Specifying direction field Surface patch growth

In Detail • • • Texture patch creation Specifying direction field Surface patch growth Patch parametrization Texture storage and rendering

Direction Field

Direction Field

In Detail • • • Texture patch creation Specifying direction field Surface patch growth

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

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

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

In Detail • • • Texture patch creation Specifying direction field Surface patch growth Patch parametrization Texture storage and rendering

Patch Alignment texture patch surface

Patch Alignment texture patch surface

Tangential Vector Basis

Tangential Vector Basis

Optimizing the Parametrization A (B ) T ^t (T ) ^ s (S )

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”

Optimizing the Parametrization Minimizing “Least Squares Functional”

In Detail • • • Texture patch creation Specifying direction field Surface patch growth

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.

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

Texture Atlas Patches of triangles with similar normals

Runtime Pasting • Store vertex coordinates for each patch • Composite at run-time using

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

Tradeoffs Atlas + Faster rendering, more portable – Sampling artifacts Pasting – Increases model complexity + Effective resolution + Reusability of splotch parameterizations

Examples: Splotches

Examples: Splotches

Examples: Anisotropic

Examples: Anisotropic

Controlling Direction and Scale

Controlling Direction and Scale

256 x 256 texture (282 times) 15, 000 faces 25 frames per sec!

256 x 256 texture (282 times) 15, 000 faces 25 frames per sec!

Limitations low-frequency components boundary mismatch

Limitations low-frequency components boundary mismatch

Conclusions Effective texturing through: Overlapping texture patche Minimal edge blending Direction and scale Runtime

Conclusions Effective texturing through: Overlapping texture patche Minimal edge blending Direction and scale Runtime pasting

Thank you

Thank you