1 / 53

Lapped Textures

Lapped Textures. Princeton University Princeton University Microsoft Research. Emil Praun Adam Finkelstein Hugues Hoppe. Goal. mesh geometry. ?. textured surface. “example” image. Goal. Little user effort No apparent seams No obvious periodicity Low distortion

effie
Download Presentation

Lapped Textures

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Goal mesh geometry ? textured surface “example” image

  3. Goal • 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]

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

  6. Previous 3D Texturing • Volumetric textures: • Noise functions [Perlin ’85, Worley ’96] • Solid textures by example [Ghazanfarpour ’96] • Synthesizing texture on a surface: • Reaction-diffusion [Turk ’91, Witkin ’91] • Cellular textures [Fleischer ’95] • Covering surface with triangular tiles [Neyret ’99]

  7. Approach texture patch surface

  8. Key Idea: Patch Pasting texture patch “lapped textures” surface

  9. PROCESS

  10. Algorithm texture patch surface

  11. Algorithm texture patch surface

  12. Algorithm texture patch surface

  13. Algorithm texture patch surface

  14. Issues • Texture patch creation • Specifying direction field • Surface patch growth • Patch parametrization • Face coverage estimation • Texture storage and rendering

  15. Issues • Texture patch creation • Specifying direction field • Surface patch growth • Patch parametrization • Face coverage estimation • Texture storage and rendering

  16. Texture Patch Creation

  17. Less Structure  Splotch

  18. Issues • Texture patch creation • Specifying direction field • Surface patch growth • Patch parametrization • Face coverage estimation • Texture storage and rendering

  19. Direction Field: User-specified

  20. Direction Field:Local to Patch

  21. Issues • Texture patch creation • Specifying direction field • Surface patch growth • Patch parametrization • Face coverage estimation • Texture storage and rendering

  22. Patch Growth

  23. Patch Growth

  24. Patch Growth

  25. Patch Growth

  26. Patch Growth

  27. Patch Growth

  28. Patch Growth

  29. Issues • Texture patch creation • Specifying direction field • Surface patch growth • Patch parametrization • Face coverage estimation • 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

  33. Result of Optimization

  34. Issues • Texture patch creation • Specifying direction field • Surface patch growth • Patch parametrization • Face coverage estimation • Texture storage and rendering

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

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

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

  38. Issues • Texture patch creation • Specifying direction field • Surface patch growth • Patch parametrization • Face coverage estimation • Texture storage and rendering

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

  40. Method 1: Texture Atlas • 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

  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

  43. RESULTS

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

  45. Results: Anisotropic

  46. Controlling Direction and Scale

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

  48. Limitations direction field singularities low-frequency components boundary mismatches

  49. Video

  50. Interactive Paint Demo

More Related