1 / 30

Texturing

Texturing. Surface’s texture: its look & feel Graphics: a process that takes a surface and modifies its appearance using An image A function Other dataset Gained importance in 80’s; enhance Phong shaded scenes

atalanta
Download Presentation

Texturing

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. Texturing • Surface’s texture: its look & feel • Graphics: a process that takes a surface and modifies its appearance using • An image • A function • Other dataset • Gained importance in 80’s; enhance Phong shaded scenes • Environment mapping: Reflect the surrounding environments into shiny animated objects Dinesh Manocha, COMP770

  2. Mapping Techniques: Texture and Environment Mapping • Texture: A 2D image or pattern • Goal: Map the texture or detail onto a 3D object • Mapping: Finding two u,v values from three values from one of the 3-D coordinate spaces: R3 -> R2 Dinesh Manocha,

  3. Main Issues in Texture Mapping • Anti-aliasing • What attribute or parameter of the model is to be modulated? • How is texture mapping carried out? Define a mapping between the 2D domain of texture maps and 3D object domain Dinesh Manocha

  4. Modulating Different Parameters • Surface color: Modulating the diffuse coefficient. Most common [Catmull1974] • Specular & Diffuse Reflection (Environment mapping) [Blinn 1976] • Normal Vector Perturbation: Perturbs the surface normal [Blinn 1978]. Extended to frame mapping (tangent, normal, binormal) [Kajiya1985] Dinesh Manocha

  5. Modulating Different Parameters [Heckbert1986: Review Paper, IEEE CG & A] • Specularity: Surface roughness function in the Cook-Torrance reflection model (variable shininess) [Blinn1978] • Transparency: Doesn’t apply texture to an object, but generates a complete object: a cloud using a mathematical texture function to modulate the transparency of an ellipsoid Dinesh Manocha

  6. Main Approaches and Categories • General texture mapping: a 2D texture domain is pasted onto the object • View-dependent mapping techniques: e.g. chrome, environment, reflection and refraction • Bump mapping techniques: Alters the geometry of the surface Dinesh Manocha

  7. Texture Mapping and Object Representation • Polygonal models: The mapping or the projection function needs to be computed • Pasting: Cannot paste a 2D pattern onto a polygonal object of arbitrary topology without cutting the pattern • Parametric analytic models: computing the mapping function is relatively simple (e.g. rational parametric surfaces) Dinesh Manocha

  8. Texture Mapping Pipeline • Compute object space location (x,y,z) • Use mapping function to find (u,v) • Use corresponder function(s) to compute texel • Apply value transform function • Modify illumination equation value

  9. Practical Approach for Polygonal Models Associate a texture map coordinate (u,v) with each vertex of the polygonal mesh • Derive a mapping or projection function F() such that: (u,v) = F(x,y,z) • Develop algorithms for associating texture values internal to the polygon, as it gets clipped and rendered. Dinesh Manocha,

  10. Standard mapping or projection functions • Cylindrical mapping function • Spherical mapping function • Box mapping function • Planar projections

  11. Mapping during Modeling • Object is approximately cylindrical or spherical (e.g. bananas) • Bend the objects without changing the mapping function to the vertices Dinesh Manocha

  12. Texture Mapping Pipeline • Compute object space location (x,y,z) • Use mapping function to find (u,v) • Use corresponder function(s) to compute texel • Apply value transform function • Modify illumination equation value Dinesh Manocha

  13. Corresponder Functions • Transform the parameter space values (u,v) into a texture space value (texels) • Examples: • array indices into an image texture (sampling, anti-aliasing, mipmapping) • Optional matrix transformation (OpenGL): rotate, scale • Image application: warp, repeat, mirror • Can apply multiple corresponder functions Dinesh Manocha

  14. Texture Application • RGB or RGB\alpha, where \alpha is the opacity value • Change surface attribute using texture blending functions • Replace: Replace the original color with texture color • Modulate: Multiply the surface color by texture color Dinesh Manocha

  15. Other Mappings or Visual Representations • Volume textures: Evaluated on any point in space • Hypertexture: volumetric modeling technique • Texel-mapping: Maps an entire surface description onto the surface of an object • Displacement Maps: Moves the surface by a given amount in a given direction Dinesh Manocha

  16. Reverse Mapping Techniques Active area of research • Optimization methods • Harmonic maps • Divide-and-conquer approaches • Multi-resolution approaches • A huge literature on surface parameterization over last 10 years Dinesh Manocha

  17. Mapping Polygon Interior Points Associate (u,v) values with the interior of the polygon • Simple solution: Include the (u,v) coordinates with the screen coordinates and normals. Use Phong interpolation approach. Dinesh Manocha

  18. Mapping Polygon Interior Points: Known Projection Function • Compute the function as the polygon is clipped and rendered • Transform the vertices of the clipped polygon to the object space • Apply the projection function to the transformed vertices to compute the texture coordinates Dinesh Manocha

  19. Environment Mapping • Approximation to ray tracing • Object is surrounded by a closed 3D surface onto which the environment is projected • Used for seeing recognizable detail in the reflected information Dinesh Manocha

  20. Location in the Environment Mapping the environment to inside of a large sphere • Trace a ray from the eye-point to the surface of the rendered object • Reflect the ray about the normal and trace the ray to the sphere • Greater distortion: The farther an object is from the eye-point or larger the object Dinesh Manocha

  21. Mapping to a Large Cube [Greene86] • Explicit representation by 6 raster images • Take six separate, appropriately oriented photographs of the scene, using a 900 flat field lens • Project the photographs onto the six inside faces of the cube • Can combine Lambertian diffuse and specular reflection in the environment map • Mapping function is not spherical and has less distortion Dinesh Manocha

  22. Rough Appearance • Texture Mapping: Adding texture patterns to smooth surfaces. • Rough Appearance: Adding rough-texture pattern to a smooth surface? Dinesh Manocha

  23. Bump Mapping • Perturb the surface normal [Blinn76] • Given Q(u,v), let the surface normal be n, where n = Qu X Qv, and let n be the normalized unit vector • For any point on Q(u,v), the position vector is: Q’(u,v) = Q(u,v) + P(u,v) n, where P(u,v) is a perturbation function. • The normal of the perturbed surface is: n + Pu (n X Qv) + Pv (Qu X n) Dinesh Manocha

  24. Choice of Perturbation Function • Any first order continuous function • Examples: grid pattern, character bit maps, Z-buffer patterns, random hand-drawn patterns • Nonmathematical patterns: The perturbation function is a 2D lookup table. Derivatives are computed by table lookup. Dinesh Manocha

  25. Procedural Textures (Solid Textures) • Define a texture function throughout a 3D volume • Object is embedded in the 3D texture volume • Textured surface: intersection of the object and 3D texture volume • Coherent appearance with no texture discontinuities • Independent of surface geometry or coordinate system Dinesh Manocha

  26. Procedural Textures (Wood Grain Examples) • Coaxial alternating light and dark cylinders • Lack of distortion or aliasing Dinesh Manocha

  27. Other Issues in Texture Mapping • Magnification (use of bilinear interpolation) • Minification • Sampling and filtering (aliasing problems) • Use of mipmapping for anti-aliasing • Texture caching and compression (limited texture memory) • Multitexturing (and multi-pass rendering): two or more textures are accessed during the same pass Dinesh Manocha

  28. Texture Antialiasing • Aliasing is a constant aspect of texture mapping • Frequency domain analysis: silhouette edges and perspective can cause high frequency patterns in image space • Point sampling (mapping the center of image pixel to texture space and use the nearest texture pixel) a texture pattern can generate lots of aliasing problems: • Wide literature on different filters to circumvent the problem Dinesh Manocha

  29. Mip-mapping • Generates many images of decreasing resolution by averaging multiple pixels • Original image and the averaged lower resolution images are stored in multiple tables • Equivalent to convolution with a square box filter • Stacking the mipmaps in 3 space forms a pyramid • Memory: 4/3 times the original texture image • Widely used texture filtering method: fast and little memory Dinesh Manocha

  30. Summed Area Tables • Extension of mipmaps to rectangular texture regions • Reduce the table to one using summed area table • Each entry: represents the sum of the intensities of all texture pixels in a rectangle defined by lower left corner and the pixel of interest • Average intensity: Divide this by number of pixels • Used summed areas to technique to compute the intensity of each pixel • Prefilter the texture image, using a box filter function prior to summing Dinesh Manocha

More Related