53
Lapped Textures Emil Praun Emil Praun Adam Adam Finkelstein Finkelstein Hugues Hoppe Hugues Hoppe Princeton University Princeton University Princeton University Princeton University Microsoft Research Microsoft Research

Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University

Embed Size (px)

Citation preview

Page 1: Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University

Lapped TexturesLapped Textures

Emil PraunEmil Praun

Adam FinkelsteinAdam Finkelstein

Hugues HoppeHugues Hoppe

Emil PraunEmil Praun

Adam FinkelsteinAdam Finkelstein

Hugues HoppeHugues Hoppe

Princeton UniversityPrinceton University

Princeton UniversityPrinceton University

Microsoft ResearchMicrosoft Research

Princeton UniversityPrinceton University

Princeton UniversityPrinceton University

Microsoft ResearchMicrosoft Research

Page 2: Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University

GoalGoal

“example” image“example” image

textured surfacetextured surface

mesh geometrymesh geometry

?

Page 3: Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University

GoalGoal

Little user effortLittle user effort

No apparent seamsNo apparent seams

No obvious periodicityNo obvious periodicity

Low distortionLow distortion

Local texture controlLocal texture control

AnisotropyAnisotropy

Little user effortLittle user effort

No apparent seamsNo apparent seams

No obvious periodicityNo obvious periodicity

Low distortionLow distortion

Local texture controlLocal texture control

AnisotropyAnisotropy

Page 4: Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University

Previous 2D Texture SynthesisPrevious 2D Texture Synthesis

Histogram equalization [Heeger ’96]Histogram equalization [Heeger ’96]

Laplacian block shuffling [de Bonet ’97]Laplacian block shuffling [de Bonet ’97]

Pixel template matching [Efros ’99] [Wei ’00]Pixel template matching [Efros ’99] [Wei ’00]

Histogram equalization [Heeger ’96]Histogram equalization [Heeger ’96]

Laplacian block shuffling [de Bonet ’97]Laplacian block shuffling [de Bonet ’97]

Pixel template matching [Efros ’99] [Wei ’00]Pixel template matching [Efros ’99] [Wei ’00]

Page 5: Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University

Histogram equalization [Heeger ’96]Histogram equalization [Heeger ’96]

Laplacian block shuffling [de Bonet ’97]Laplacian block shuffling [de Bonet ’97]

Pixel template matching [Efros ’99] [Wei Pixel template matching [Efros ’99] [Wei ’00’00]]

Random pasting of image blocks [Xu ’00]Random pasting of image blocks [Xu ’00]

Histogram equalization [Heeger ’96]Histogram equalization [Heeger ’96]

Laplacian block shuffling [de Bonet ’97]Laplacian block shuffling [de Bonet ’97]

Pixel template matching [Efros ’99] [Wei Pixel template matching [Efros ’99] [Wei ’00’00]]

Random pasting of image blocks [Xu ’00]Random pasting of image blocks [Xu ’00]

Previous 2D Texture SynthesisPrevious 2D Texture Synthesis

Page 6: Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University

Previous 3D TexturingPrevious 3D Texturing

Volumetric textures:Volumetric textures:

• Noise functions [Perlin ’85, Worley ’96]Noise functions [Perlin ’85, Worley ’96]

• Solid textures by example [Ghazanfarpour ’96]Solid textures by example [Ghazanfarpour ’96]

Synthesizing texture on a surface:Synthesizing texture on a surface:

• Reaction-diffusion [Turk ’91, Witkin ’91] Reaction-diffusion [Turk ’91, Witkin ’91]

• Cellular textures [Fleischer ’95]Cellular textures [Fleischer ’95]

• Covering surface with triangular tiles [Neyret ’99] Covering surface with triangular tiles [Neyret ’99]

Volumetric textures:Volumetric textures:

• Noise functions [Perlin ’85, Worley ’96]Noise functions [Perlin ’85, Worley ’96]

• Solid textures by example [Ghazanfarpour ’96]Solid textures by example [Ghazanfarpour ’96]

Synthesizing texture on a surface:Synthesizing texture on a surface:

• Reaction-diffusion [Turk ’91, Witkin ’91] Reaction-diffusion [Turk ’91, Witkin ’91]

• Cellular textures [Fleischer ’95]Cellular textures [Fleischer ’95]

• Covering surface with triangular tiles [Neyret ’99] Covering surface with triangular tiles [Neyret ’99]

Page 7: Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University

ApproachApproach

texture patchtexture patch

surfacesurface

Page 8: Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University

Key Idea: Patch PastingKey Idea: Patch Pasting

texture patchtexture patchtexture patchtexture patch

surfacesurfacesurfacesurface““lapped textures”lapped textures”

Page 9: Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University

PROCESSPROCESS

Page 10: Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University

AlgorithmAlgorithm

texture patchtexture patch

surfacesurface

Page 11: Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University

AlgorithmAlgorithm

texture patchtexture patch

surfacesurface

Page 12: Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University

AlgorithmAlgorithm

texture patchtexture patch

surfacesurface

Page 13: Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University

AlgorithmAlgorithm

texture patchtexture patch

surfacesurface

Page 14: Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University

IssuesIssues

1.1. Texture patch creationTexture patch creation

2.2. Specifying direction fieldSpecifying direction field

3.3. Surface patch growthSurface patch growth

4.4. Patch parametrizationPatch parametrization

5.5. Face coverage estimationFace coverage estimation

6.6. Texture storage and renderingTexture storage and rendering

1.1. Texture patch creationTexture patch creation

2.2. Specifying direction fieldSpecifying direction field

3.3. Surface patch growthSurface patch growth

4.4. Patch parametrizationPatch parametrization

5.5. Face coverage estimationFace coverage estimation

6.6. Texture storage and renderingTexture storage and rendering

Page 15: Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University

IssuesIssues

1.1. Texture patch creationTexture patch creation

2.2. Specifying direction fieldSpecifying direction field

3.3. Surface patch growthSurface patch growth

4.4. Patch parametrizationPatch parametrization

5.5. Face coverage estimationFace coverage estimation

6.6. Texture storage and renderingTexture storage and rendering

1.1. Texture patch creationTexture patch creation

2.2. Specifying direction fieldSpecifying direction field

3.3. Surface patch growthSurface patch growth

4.4. Patch parametrizationPatch parametrization

5.5. Face coverage estimationFace coverage estimation

6.6. Texture storage and renderingTexture storage and rendering

Page 16: Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University

Texture Patch CreationTexture Patch Creation

Page 17: Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University

Less Structure SplotchLess Structure Splotch

Page 18: Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University

IssuesIssues

1.1. Texture patch creationTexture patch creation

2.2. Specifying direction fieldSpecifying direction field

3.3. Surface patch growthSurface patch growth

4.4. Patch parametrizationPatch parametrization

5.5. Face coverage estimationFace coverage estimation

6.6. Texture storage and renderingTexture storage and rendering

1.1. Texture patch creationTexture patch creation

2.2. Specifying direction fieldSpecifying direction field

3.3. Surface patch growthSurface patch growth

4.4. Patch parametrizationPatch parametrization

5.5. Face coverage estimationFace coverage estimation

6.6. Texture storage and renderingTexture storage and rendering

Page 19: Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University

Direction Field: User-specifiedDirection Field: User-specified

Page 20: Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University

Direction Field: Local to PatchDirection Field: Local to Patch

Page 21: Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University

IssuesIssues

1.1. Texture patch creationTexture patch creation

2.2. Specifying direction fieldSpecifying direction field

3.3. Surface patch growthSurface patch growth

4.4. Patch parametrizationPatch parametrization

5.5. Face coverage estimationFace coverage estimation

6.6. Texture storage and renderingTexture storage and rendering

1.1. Texture patch creationTexture patch creation

2.2. Specifying direction fieldSpecifying direction field

3.3. Surface patch growthSurface patch growth

4.4. Patch parametrizationPatch parametrization

5.5. Face coverage estimationFace coverage estimation

6.6. Texture storage and renderingTexture storage and rendering

Page 22: Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University

Patch GrowthPatch Growth

Page 23: Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University

Patch GrowthPatch Growth

Page 24: Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University

Patch GrowthPatch Growth

Page 25: Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University

Patch GrowthPatch Growth

Page 26: Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University

Patch GrowthPatch Growth

Page 27: Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University

Patch GrowthPatch Growth

Page 28: Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University

Patch GrowthPatch Growth

Page 29: Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University

IssuesIssues

1.1. Texture patch creationTexture patch creation

2.2. Specifying direction fieldSpecifying direction field

3.3. Surface patch growthSurface patch growth

4.4. Patch parametrizationPatch parametrization

5.5. Face coverage estimationFace coverage estimation

6.6. Texture storage and renderingTexture storage and rendering

1.1. Texture patch creationTexture patch creation

2.2. Specifying direction fieldSpecifying direction field

3.3. Surface patch growthSurface patch growth

4.4. Patch parametrizationPatch parametrization

5.5. Face coverage estimationFace coverage estimation

6.6. Texture storage and renderingTexture storage and rendering

Page 30: Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University

Align Patch to Direction FieldAlign Patch to Direction Field

texture patchtexture patch

surfacesurface

Page 31: Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University

Tangential Vector FieldTangential Vector Field

Page 32: Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University

Optimizing the ParametrizationOptimizing the Parametrization

Least squares best match to unit axesLeast squares best match to unit axesSparse linear system. No explicit fairness functionalSparse linear system. No explicit fairness functional

Least squares best match to unit axesLeast squares best match to unit axesSparse linear system. No explicit fairness functionalSparse linear system. No explicit fairness functional

Page 33: Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University

Result of OptimizationResult of Optimization

Page 34: Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University

IssuesIssues

1.1. Texture patch creationTexture patch creation

2.2. Specifying direction fieldSpecifying direction field

3.3. Surface patch growthSurface patch growth

4.4. Patch parametrizationPatch parametrization

5.5. Face coverage estimationFace coverage estimation

6.6. Texture storage and renderingTexture storage and rendering

1.1. Texture patch creationTexture patch creation

2.2. Specifying direction fieldSpecifying direction field

3.3. Surface patch growthSurface patch growth

4.4. Patch parametrizationPatch parametrization

5.5. Face coverage estimationFace coverage estimation

6.6. Texture storage and renderingTexture storage and rendering

Page 35: Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University

Coverage estimationCoverage estimation

off-screen bufferoff-screen bufferoff-screen bufferoff-screen buffer

Render patch trianglesRender patch triangles

Flag covered trianglesFlag covered triangles

Remember 1 pixel Remember 1 pixel

per uncovered triangle per uncovered triangle

Render patch trianglesRender patch triangles

Flag covered trianglesFlag covered triangles

Remember 1 pixel Remember 1 pixel

per uncovered triangle per uncovered triangle

Page 36: Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University

Coverage estimationCoverage estimation

off-screen bufferoff-screen bufferoff-screen bufferoff-screen buffer

Render patch trianglesRender patch triangles

Flag covered trianglesFlag covered triangles

Remember 1 pixel Remember 1 pixel

per uncovered triangle per uncovered triangle

Render patch trianglesRender patch triangles

Flag covered trianglesFlag covered triangles

Remember 1 pixel Remember 1 pixel

per uncovered triangle per uncovered triangle

Page 37: Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University

Coverage estimationCoverage estimation

off-screen bufferoff-screen bufferoff-screen bufferoff-screen buffer

Render patch trianglesRender patch triangles

Flag covered trianglesFlag covered triangles

Remember 1 pixel Remember 1 pixel

per uncovered triangle per uncovered triangle

Render patch trianglesRender patch triangles

Flag covered trianglesFlag covered triangles

Remember 1 pixel Remember 1 pixel

per uncovered triangle per uncovered triangle

Page 38: Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University

IssuesIssues

1.1. Texture patch creationTexture patch creation

2.2. Specifying direction fieldSpecifying direction field

3.3. Surface patch growthSurface patch growth

4.4. Patch parametrizationPatch parametrization

5.5. Face coverage estimationFace coverage estimation

6.6. Texture storage and renderingTexture storage and rendering

1.1. Texture patch creationTexture patch creation

2.2. Specifying direction fieldSpecifying direction field

3.3. Surface patch growthSurface patch growth

4.4. Patch parametrizationPatch parametrization

5.5. Face coverage estimationFace coverage estimation

6.6. Texture storage and renderingTexture storage and rendering

Page 39: Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University

Texture Storage and RenderingTexture Storage and Rendering

Method 1: Method 1: Texture AtlasTexture Atlas

• Pre-composite into a global texture map.Pre-composite into a global texture map.

-- OR ---- OR --

Method 2: Method 2: Runtime pastingRuntime pasting

• Composite at run-time using hardwareComposite at run-time using hardware

Method 1: Method 1: Texture AtlasTexture Atlas

• Pre-composite into a global texture map.Pre-composite into a global texture map.

-- OR ---- OR --

Method 2: Method 2: Runtime pastingRuntime pasting

• Composite at run-time using hardwareComposite at run-time using hardware

Page 40: Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University

Method 1: Texture AtlasMethod 1: Texture Atlas

Patches of triangles with similar normalsPatches of triangles with similar normals

2D packing problem for arbitrary polygons2D packing problem for arbitrary polygons

Patches of triangles with similar normalsPatches of triangles with similar normals

2D packing problem for arbitrary polygons2D packing problem for arbitrary polygons

Page 41: Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University

Method 2: Runtime PastingMethod 2: Runtime Pasting

Store vertex coordinates for each patchStore vertex coordinates for each patch

Composite at run-time using hardwareComposite at run-time using hardware

May render triangles several timesMay render triangles several times

Store vertex coordinates for each patchStore vertex coordinates for each patch

Composite at run-time using hardwareComposite at run-time using hardware

May render triangles several timesMay render triangles several times

Page 42: Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University

Atlas vs. Runtime PastingAtlas vs. Runtime Pasting

AtlasAtlas

+ Faster rendering, more portableFaster rendering, more portable

+ Easy to paint unique details (eyes, nose on bunny)Easy to paint unique details (eyes, nose on bunny)

– Sampling artifacts; user effortSampling artifacts; user effort

PastingPasting

– Increases model complexity (Increases model complexity ( 1.6 –3)1.6 –3)

+ Huge effective resolution Huge effective resolution

+ Reuse splotch parameterization for many texturesReuse splotch parameterization for many textures

AtlasAtlas

+ Faster rendering, more portableFaster rendering, more portable

+ Easy to paint unique details (eyes, nose on bunny)Easy to paint unique details (eyes, nose on bunny)

– Sampling artifacts; user effortSampling artifacts; user effort

PastingPasting

– Increases model complexity (Increases model complexity ( 1.6 –3)1.6 –3)

+ Huge effective resolution Huge effective resolution

+ Reuse splotch parameterization for many texturesReuse splotch parameterization for many textures

Page 43: Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University

RESULTSRESULTS

Page 44: Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University

Results: SplotchesResults: Splotches

(completely automatic: no direction field)(completely automatic: no direction field)

Page 45: Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University

Results: AnisotropicResults: Anisotropic

Page 46: Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University

Controlling Direction and ScaleControlling Direction and Scale

Page 47: Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University

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 48: Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University

LimitationsLimitations

low-frequencylow-frequencycomponentscomponents

boundaryboundarymismatchesmismatches

direction field direction field singularitiessingularities

Page 49: Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University

VideoVideo

Page 50: Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University

Interactive Paint DemoInteractive Paint Demo

Page 51: Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University

TimingsTimings

Texture patch creation: Texture patch creation: 1 min1 min

Specifying direction field: Specifying direction field: 15 min15 min

Surface patch growthSurface patch growth

Patch parameterizationPatch parameterization

Face coverage estimationFace coverage estimation

Rendering: Rendering: 25fps25fps @ 1024 @ 102422

Texture patch creation: Texture patch creation: 1 min1 min

Specifying direction field: Specifying direction field: 15 min15 min

Surface patch growthSurface patch growth

Patch parameterizationPatch parameterization

Face coverage estimationFace coverage estimation

Rendering: Rendering: 25fps25fps @ 1024 @ 102422

Preprocessing:Preprocessing:

20sec – 6 min20sec – 6 min

Preprocessing:Preprocessing:

20sec – 6 min20sec – 6 min

Pentium III 733MHz, GeForce graphicsPentium III 733MHz, GeForce graphicsPentium III 733MHz, GeForce graphicsPentium III 733MHz, GeForce graphics

Human Human efforteffortHuman Human efforteffort

Page 52: Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University

ConclusionsConclusions

Effective texture-by-example through:Effective texture-by-example through:

Overlapping texture patches Overlapping texture patches

Minimal edge blending Minimal edge blending

Aligning to direction field Aligning to direction field fast optimization fast optimization

Runtime pasting Runtime pasting high effective resolution high effective resolution

Effective texture-by-example through:Effective texture-by-example through:

Overlapping texture patches Overlapping texture patches

Minimal edge blending Minimal edge blending

Aligning to direction field Aligning to direction field fast optimization fast optimization

Runtime pasting Runtime pasting high effective resolution high effective resolution

Page 53: Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University

Future WorkFuture Work

Other texture types:Other texture types:

• AnimatedAnimated

• ““Thick” (volumetric) textures Thick” (volumetric) textures fur fur

• NPR renderingNPR rendering

Greater automationGreater automation

Fine-tuning patch placementFine-tuning patch placement

Other texture types:Other texture types:

• AnimatedAnimated

• ““Thick” (volumetric) textures Thick” (volumetric) textures fur fur

• NPR renderingNPR rendering

Greater automationGreater automation

Fine-tuning patch placementFine-tuning patch placement