Lapped Textures Emil Praun and Adam Finkelstien Princeton
- Slides: 33
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 2 D texture n Basic approach: n Texture a surface with overlapping patches n Repeatedly past small regions of the sample surface on to parts of the mesh n Reduce the appearance of seams through alpha blending n
Goal mesh geometry ? textured surface “example” image http: //www. cs. princeton. edu/gfx/proj/lapped_tex. ppt
Previous Work Histogram matching of sample texture and noise image [Heeger and Bergen 96] n Shuffling images in a Laplacian pyramid representation [Debonet 97] n Random motion of image blocks [Xu et al 2000] n Noise functions [Perlin 85] n Parameterization and texture atlasing [Maillot et al 93] n
Approach n Identify a set of broad features from the sample texture, repeatedly paste until the mesh is covered. texture patch surface http: //www. cs. princeton. edu/gfx/proj/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 Until the mesh is covered
Process: creating texture patches n Highly structured texture: avoid cutting across important features. Patches manually outlined by users commercial tools. n 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 Until the 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 n The direction of T will be the texture up direction, and the magnitude will be the local uniform scaling. n At each face convert T into a tangential basis (S, T) such that S = T x N n
Direction and scale n User specified http: //www. cs. princeton. edu/gfx/proj/lapped_tex. ppt
Direction and scale n Local orientation: For isotropic textures, direction is not important. Procedure will perform local orientation. http: //www. cs. princeton. edu/gfx/proj/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 Until the mesh is covered
Growing surface patch Grow a surface patch where a texture patch can be pasted, starting with a triangle face. n As new faces are added to the patch, assign an initial guess for their parametrization. n 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 n
Patch Growth http: //www. cs. princeton. edu/gfx/proj/lapped_tex. ppt
Growing surface patch Steps: 2) Grow the surface patch around the first triangle. Constraints: n n 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. ppt
Patch Growth http: //www. cs. princeton. edu/gfx/proj/lapped_tex. ppt
Patch Growth http: //www. cs. princeton. edu/gfx/proj/lapped_tex. ppt
Patch Growth http: //www. cs. princeton. edu/gfx/proj/lapped_tex. ppt
Patch Growth http: //www. cs. princeton. edu/gfx/proj/lapped_tex. ppt
Patch Growth http: //www. cs. princeton. edu/gfx/proj/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. n This optimization minimizes the differences between (ˆs ( , ˆt) and the parameterized form of (S, T) in texture coordinates. n This aligns the texture patch to the user specified direction field. n
Optimization
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
Texture Storage and rendering n 1) 2) 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. ppt
Results: Anisotropic http: //www. cs. princeton. edu/gfx/proj/lapped_tex. ppt
Controlling Direction and Scale http: //www. cs. princeton. edu/gfx/proj/lapped_tex. ppt
Limitations low-frequency components boundary mismatches http: //www. cs. princeton. edu/gfx/proj/lapped_tex. ppt direction field singularities
Summary Texture synthesis through overlapping patch pastes. n Minimal edge blending. n Use optimization to align texture patches with the direction field of the mesh. n User interaction (15 min) and preprocessing (upto 6 min). n
Future Work Fine-tuning patch placement: sharp texture features align across patch boundaries. n More automation: reduce user interaction. n Explore other texture types such as animated, volumetric and view-dependent textures. n
Optimization
- Emil praun
- Emil praun
- Emil praun
- Adam finkelstein princeton
- Poni hithen
- Adam white speaks
- What is
- Textures drape fabric
- Line color and texture
- Partially resident textures
- Rock textures chart
- Simulated texture in art
- Dynamic textures
- Rendering fur with three dimensional textures
- Grain rotation
- Metamorphic textures
- Cuda texture object example
- What are textures
- The illusion of detail
- Princeton data structures and algorithms
- Princeton iac
- Pics princeton
- Cos 316 princeton
- Hantao ji princeton
- Cos423
- Cos217
- Cos 320°
- Quasicrystals ppt
- Eric larson princeton
- Roberto car princeton
- Princeton policy task force
- Princeton university’s gerrymandering project
- Cos
- Citp princeton