Presentation is loading. Please wait.

Presentation is loading. Please wait.

Lapped Textures Emil Praun and Adam Finkelstien (Princeton University) Huges Hoppe (Microsoft Research) SIGGRAPH 2000 Presented by Anteneh.

Similar presentations


Presentation on theme: "Lapped Textures Emil Praun and Adam Finkelstien (Princeton University) Huges Hoppe (Microsoft Research) SIGGRAPH 2000 Presented by Anteneh."— 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 A method of creating a texture over an arbitrary surface mesh, using a sample 2D texture Basic approach: Basic approach: Texture a surface with overlapping patches Texture a surface with overlapping patches Repeatedly past small regions of the sample surface on to parts of the mesh Repeatedly past small regions of the sample surface on to parts of the mesh Reduce the appearance of seams through alpha blending Reduce the appearance of seams through alpha blending

3 Goal “example” image textured surface mesh geometry ? 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] Histogram matching of sample texture and noise image [Heeger and Bergen 96] Shuffling images in a Laplacian pyramid representation [Debonet 97] Shuffling images in a Laplacian pyramid representation [Debonet 97] Random motion of image blocks [Xu et al 2000] Random motion of image blocks [Xu et al 2000] Noise functions [Perlin 85] Noise functions [Perlin 85] Parameterization and texture atlasing [Maillot et al 93] Parameterization and texture atlasing [Maillot et al 93]

5 Approach Identify a set of broad features from the sample texture, repeatedly paste until the mesh is covered. Identify a set of broad features from the sample texture, repeatedly paste until the mesh is covered. texture patch surfacesurface 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 Until the mesh is covered

7 Process: creating texture patches Highly structured texture: avoid cutting across important features. Patches manually outlined by users commercial tools. 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. 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 Until the 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 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. 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 At each face convert T into a tangential basis (S, T) such that S = T x N

10 Direction and scale User specified 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. 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 Until the mesh is covered

13 Growing surface patch Grow a surface patch where a texture patch can be pasted, starting with a triangle face. 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. As new faces are added to the patch, assign an initial guess for their parametrization. Steps: 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: Steps: 2) Grow the surface patch around the first triangle. Constraints: The surface patch is required to be homeomorphic to a disk. 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 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 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 (, using a least squares method. 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 ( 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. 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 Until the mesh is covered

25 Texture Storage and rendering Two methods Two methods 1) Texture Atlas: patches of triangles with similar normals. Faster rendering but requires more user effort. 2) 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 low-frequencycomponentsboundarymismatches direction field singularities http://www.cs.princeton.edu/gfx/proj/lapped_tex/lapped_tex.ppt

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

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

32 ???

33 Optimization


Download ppt "Lapped Textures Emil Praun and Adam Finkelstien (Princeton University) Huges Hoppe (Microsoft Research) SIGGRAPH 2000 Presented by Anteneh."

Similar presentations


Ads by Google