Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University."— Presentation transcript:

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

2 Goal example image textured surface mesh geometry ?

3 Goal Little user effort No apparent seams No obvious periodicity Low distortion Local texture control Anisotropy Little user effort No apparent seams No obvious periodicity Low distortion Local texture control Anisotropy

4 Previous 2D Texture Synthesis Histogram equalization [Heeger 96] Laplacian block shuffling [de Bonet 97] Pixel template matching [Efros 99] [Wei 00] Histogram equalization [Heeger 96] Laplacian block shuffling [de Bonet 97] Pixel template matching [Efros 99] [Wei 00]

5 Histogram equalization [Heeger 96] Laplacian block shuffling [de Bonet 97] Pixel template matching [Efros 99] [Wei 00] Random pasting of image blocks [Xu 00] Histogram equalization [Heeger 96] Laplacian block shuffling [de Bonet 97] Pixel template matching [Efros 99] [Wei 00] Random pasting of image blocks [Xu 00] Previous 2D Texture Synthesis

6 Previous 3D Texturing 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: 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: 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: 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]

7 Approach texture patch surface

8 Key Idea: Patch Pasting texture patch surfacesurface lapped textures

9 PROCESS

10 Algorithm texture patch surface

11 Algorithm texture patch surface

12 Algorithm texture patch surface

13 Algorithm texture patch surface

14 Issues 1.Texture patch creation 2.Specifying direction field 3.Surface patch growth 4.Patch parametrization 5.Face coverage estimation 6.Texture storage and rendering 1.Texture patch creation 2.Specifying direction field 3.Surface patch growth 4.Patch parametrization 5.Face coverage estimation 6.Texture storage and rendering

15 Issues 1.Texture patch creation 2.Specifying direction field 3.Surface patch growth 4.Patch parametrization 5.Face coverage estimation 6.Texture storage and rendering 1.Texture patch creation 2.Specifying direction field 3.Surface patch growth 4.Patch parametrization 5.Face coverage estimation 6.Texture storage and rendering

16 Texture Patch Creation

17 Less Structure Splotch

18 Issues 1.Texture patch creation 2.Specifying direction field 3.Surface patch growth 4.Patch parametrization 5.Face coverage estimation 6.Texture storage and rendering 1.Texture patch creation 2.Specifying direction field 3.Surface patch growth 4.Patch parametrization 5.Face coverage estimation 6.Texture storage and rendering

19 Direction Field: User-specified

20 Direction Field: Local to Patch

21 Issues 1.Texture patch creation 2.Specifying direction field 3.Surface patch growth 4.Patch parametrization 5.Face coverage estimation 6.Texture storage and rendering 1.Texture patch creation 2.Specifying direction field 3.Surface patch growth 4.Patch parametrization 5.Face coverage estimation 6.Texture storage and rendering

22 Patch Growth

23

24

25

26

27

28

29 Issues 1.Texture patch creation 2.Specifying direction field 3.Surface patch growth 4.Patch parametrization 5.Face coverage estimation 6.Texture storage and rendering 1.Texture patch creation 2.Specifying direction field 3.Surface patch growth 4.Patch parametrization 5.Face coverage estimation 6.Texture storage and rendering

30 Align Patch to Direction Field texture patch surface

31 Tangential Vector Field

32 Optimizing the Parametrization Least squares best match to unit axes Sparse linear system. No explicit fairness functional Least squares best match to unit axes Sparse linear system. No explicit fairness functional

33 Result of Optimization

34 Issues 1.Texture patch creation 2.Specifying direction field 3.Surface patch growth 4.Patch parametrization 5.Face coverage estimation 6.Texture storage and rendering 1.Texture patch creation 2.Specifying direction field 3.Surface patch growth 4.Patch parametrization 5.Face coverage estimation 6.Texture storage and rendering

35 Coverage estimation off-screen buffer Render patch triangles Flag covered triangles Remember 1 pixel per uncovered triangle per uncovered triangle Render patch triangles Flag covered triangles Remember 1 pixel per uncovered triangle per uncovered triangle

36 Coverage estimation off-screen buffer Render patch triangles Flag covered triangles Remember 1 pixel per uncovered triangle per uncovered triangle Render patch triangles Flag covered triangles Remember 1 pixel per uncovered triangle per uncovered triangle

37 Coverage estimation off-screen buffer Render patch triangles Flag covered triangles Remember 1 pixel per uncovered triangle per uncovered triangle Render patch triangles Flag covered triangles Remember 1 pixel per uncovered triangle per uncovered triangle

38 Issues 1.Texture patch creation 2.Specifying direction field 3.Surface patch growth 4.Patch parametrization 5.Face coverage estimation 6.Texture storage and rendering 1.Texture patch creation 2.Specifying direction field 3.Surface patch growth 4.Patch parametrization 5.Face coverage estimation 6.Texture storage and rendering

39 Texture Storage and Rendering Method 1: Texture Atlas Pre-composite into a global texture map. Pre-composite into a global texture map. -- OR -- Method 2: Runtime pasting Composite at run-time using hardware Composite at run-time using hardware Method 1: Texture Atlas Pre-composite into a global texture map. Pre-composite into a global texture map. -- OR -- Method 2: Runtime pasting Composite at run-time using hardware Composite at run-time using hardware

40 Method 1: Texture Atlas Patches of triangles with similar normals 2D packing problem for arbitrary polygons Patches of triangles with similar normals 2D packing problem for arbitrary polygons

41 Method 2: Runtime Pasting Store vertex coordinates for each patch Composite at run-time using hardware May render triangles several times Store vertex coordinates for each patch Composite at run-time using hardware May render triangles several times

42 Atlas 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 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

43 RESULTS

44 Results: Splotches (completely automatic: no direction field)

45 Results: Anisotropic

46 Controlling Direction and Scale

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

48 Limitations low-frequencycomponentsboundarymismatches direction field singularities

49 Video

50 Interactive Paint Demo

51 Timings Texture patch creation: 1 min Specifying direction field: 15 min Surface patch growth Patch parameterization Face coverage estimation Rendering: Texture patch creation: 1 min Specifying direction field: 15 min Surface patch growth Patch parameterization Face coverage estimation Rendering: Preprocessing: 20sec – 6 min Preprocessing: Pentium III 733MHz, GeForce graphics Human effort

52 Conclusions Effective texture-by-example through: Overlapping texture patches Overlapping texture patches Minimal edge blending Minimal edge blending Aligning to direction field fast optimization Runtime pasting high effective resolution Effective texture-by-example through: Overlapping texture patches Overlapping texture patches Minimal edge blending Minimal edge blending Aligning to direction field fast optimization Runtime pasting high effective resolution

53 Future Work Other texture types: Animated Animated Thick (volumetric) textures fur Thick (volumetric) textures fur NPR rendering NPR rendering Greater automation Fine-tuning patch placement Other texture types: Animated Animated Thick (volumetric) textures fur Thick (volumetric) textures fur NPR rendering NPR rendering Greater automation Fine-tuning patch placement


Download ppt "Lapped Textures Emil Praun Adam Finkelstein Hugues Hoppe Emil Praun Adam Finkelstein Hugues Hoppe Princeton University Microsoft Research Princeton University."

Similar presentations


Ads by Google