330 likes | 401 Vues
This presentation introduces a novel method for creating textures on arbitrary surface meshes by pasting sample 2D textures on mesh patches to reduce seam appearance and enhance visual quality. The technique involves cutting texture patches, specifying direction and scale fields over the mesh, and repeating the process until the mesh is fully textured. User interaction plays a crucial role in defining texture direction and scale, ensuring optimal texture alignment. The procedure aims to achieve seamless texture mapping, catering to various types of textures, from structured to stochastic patterns, while optimizing surface patch parameterization to align with user-specified preferences.
E N D
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: • 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
mesh geometry ? textured surface “example” image Goal http://www.cs.princeton.edu/gfx/proj/lapped_tex/lapped_tex.ppt
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]
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
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
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.
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
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
Direction and scale • User specified http://www.cs.princeton.edu/gfx/proj/lapped_tex/lapped_tex.ppt
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
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
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
Patch Growth http://www.cs.princeton.edu/gfx/proj/lapped_tex/lapped_tex.ppt
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
Patch Growth http://www.cs.princeton.edu/gfx/proj/lapped_tex/lapped_tex.ppt
Patch Growth http://www.cs.princeton.edu/gfx/proj/lapped_tex/lapped_tex.ppt
Patch Growth http://www.cs.princeton.edu/gfx/proj/lapped_tex/lapped_tex.ppt
Patch Growth http://www.cs.princeton.edu/gfx/proj/lapped_tex/lapped_tex.ppt
Patch Growth http://www.cs.princeton.edu/gfx/proj/lapped_tex/lapped_tex.ppt
Patch Growth http://www.cs.princeton.edu/gfx/proj/lapped_tex/lapped_tex.ppt
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.
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
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.
Results: Splotches http://www.cs.princeton.edu/gfx/proj/lapped_tex/lapped_tex.ppt
Results: Anisotropic http://www.cs.princeton.edu/gfx/proj/lapped_tex/lapped_tex.ppt
Controlling Direction and Scale http://www.cs.princeton.edu/gfx/proj/lapped_tex/lapped_tex.ppt
Limitations direction field singularities low-frequency components boundary mismatches http://www.cs.princeton.edu/gfx/proj/lapped_tex/lapped_tex.ppt
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).
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.