1 / 33

Lapped Textures

Lapped Textures. Emil Praun and Adam Finkelstien (Princeton University) Huges Hoppe (Microsoft Research) SIGGRAPH 2000. Presented by Anteneh. Introduction. A method of creating a texture over an arbitrary surface mesh, using a sample 2D texture Basic approach:

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 Emil Praun and Adam Finkelstien (Princeton University) Huges Hoppe (Microsoft Research) SIGGRAPH 2000 Presented by Anteneh

  2. Introduction • A method of creating a texture over an arbitrary surface mesh, using a sample 2D texture • Basic approach: • Texture a surface with overlapping patches • Repeatedly past small regions of the sample surface on to parts of the mesh • Reduce the appearance of seams through alpha blending

  3. mesh geometry ? textured surface “example” image Goal http://www.cs.princeton.edu/gfx/proj/lapped_tex/lapped_tex.ppt

  4. Previous Work • Histogram matching of sample texture and noise image [Heeger and Bergen 96] • Shuffling images in a Laplacian pyramid representation [Debonet 97] • Random motion of image blocks [Xu et al 2000] • Noise functions [Perlin 85] • Parameterization and texture atlasing [Maillot et al 93]

  5. texture patch surface Approach • Identify a set of broad features from the sample texture, repeatedly paste until the mesh is covered. http://www.cs.princeton.edu/gfx/proj/lapped_tex/lapped_tex.ppt

  6. Procedure Cut texture patches from input texture Specify direction and scale fields over mesh Repeat Select random texture patch T Select random uncovered location L for paste Grow surface patch S around L to size of T Flatten S over T Record paste operation Update face coverages Untilthe mesh is covered

  7. Process: creating texture patches • Highly structured texture: avoid cutting across important features. Patches manually outlined by users commercial tools. • Homogeneous or stochastic textures: use a predefined shape like a splotch or circle.

  8. Procedure Cut texture patches from input texture Specify direction and scale fields over mesh Repeat Select random texture patch T Select random uncovered location L for paste Grow surface patch S around L to size of T Flatten S over T Record paste operation Update face coverages Untilthe mesh is covered

  9. Direction and scale • User will assign each mesh face a tangential vector T within its plane. Procedure will interpolate remaining vectors from a few vector specifications • The direction of T will be the texture up direction, and the magnitude will be the local uniform scaling. • At each face convert T into a tangential basis (S, T) such that S = T x N

  10. Direction and scale • User specified http://www.cs.princeton.edu/gfx/proj/lapped_tex/lapped_tex.ppt

  11. Direction and scale • Local orientation: For isotropic textures, direction is not important. Procedure will perform local orientation. http://www.cs.princeton.edu/gfx/proj/lapped_tex/lapped_tex.ppt

  12. Procedure Cut texture patches from input texture Specify direction and scale fields over mesh Repeat Select random texture patch T Select random uncovered location L for paste Grow surface patch S around L to size of T Flatten S over T Record paste operation Update face coverages Untilthe mesh is covered

  13. Growing surface patch • Grow a surface patch where a texture patch can be pasted, starting with a triangle face. • As new faces are added to the patch, assign an initial guess for their parametrization. • Steps: 1) A random point is chosen to place a triangle face on an un-textured location. Map triangle to texture space so that it maps to texture patch center

  14. Patch Growth http://www.cs.princeton.edu/gfx/proj/lapped_tex/lapped_tex.ppt

  15. Growing surface patch • Steps: 2) Grow the surface patch around the first triangle. Constraints: • The surface patch is required to be homeomorphic to a disk. • Stop growing if the surface patch is not at least partially inside the texture patch • Avoid growing in areas of high curvature to stop texture distortion

  16. Patch Growth http://www.cs.princeton.edu/gfx/proj/lapped_tex/lapped_tex.ppt

  17. Patch Growth http://www.cs.princeton.edu/gfx/proj/lapped_tex/lapped_tex.ppt

  18. Patch Growth http://www.cs.princeton.edu/gfx/proj/lapped_tex/lapped_tex.ppt

  19. Patch Growth http://www.cs.princeton.edu/gfx/proj/lapped_tex/lapped_tex.ppt

  20. Patch Growth http://www.cs.princeton.edu/gfx/proj/lapped_tex/lapped_tex.ppt

  21. Patch Growth http://www.cs.princeton.edu/gfx/proj/lapped_tex/lapped_tex.ppt

  22. Optimization of surface patch parameterization • Attempt to match the images from the surface tangent vectors (S, T) with texture coordinate axes (ˆs,ˆt), using a least squares method. • This optimization minimizes the differences between (ˆs,ˆt) and the parameterized form of (S, T) in texture coordinates. • This aligns the texture patch to the user specified direction field.

  23. Optimization

  24. Procedure Cut texture patches from input texture Specify direction and scale fields over mesh Repeat Select random texture patch T Select random uncovered location L for paste Grow surface patch S around L to size of T Flatten S over T Record paste operation Update face coverages Untilthe mesh is covered

  25. Texture Storage and rendering • Two methods • Texture Atlas: patches of triangles with similar normals. Faster rendering but requires more user effort. • Runtime pasting: Record the parameters for each paste operation, and then render these surface patches at runtime. May render triangles several times but has effective resolution.

  26. Results: Splotches http://www.cs.princeton.edu/gfx/proj/lapped_tex/lapped_tex.ppt

  27. Results: Anisotropic http://www.cs.princeton.edu/gfx/proj/lapped_tex/lapped_tex.ppt

  28. Controlling Direction and Scale http://www.cs.princeton.edu/gfx/proj/lapped_tex/lapped_tex.ppt

  29. Limitations direction field singularities low-frequency components boundary mismatches http://www.cs.princeton.edu/gfx/proj/lapped_tex/lapped_tex.ppt

  30. Summary • Texture synthesis through overlapping patch pastes. • Minimal edge blending. • Use optimization to align texture patches with the direction field of the mesh. • User interaction (15 min) and preprocessing (upto 6 min).

  31. Future Work • Fine-tuning patch placement: sharp texture features align across patch boundaries. • More automation: reduce user interaction. • Explore other texture types such as animated, volumetric and view-dependent textures.

  32. ???

  33. Optimization

More Related