texture mapping texture mapping
play

Texture Mapping Texture Mapping 1 Texture Mapping Texture Mapping - PDF document

Texture Mapping Texture Mapping 1 Texture Mapping Texture Mapping Motivation Motivation: Add interesting and/or : Add interesting and/or realistic detail to surfaces of objects. realistic detail to surfaces of objects. Problem


  1. Texture Mapping Texture Mapping 1 Texture Mapping Texture Mapping � Motivation Motivation: Add interesting and/or : Add interesting and/or � realistic detail to surfaces of objects. realistic detail to surfaces of objects. � Problem Problem: Fine geometric detail is difficult : Fine geometric detail is difficult � to model and expensive to render. to model and expensive to render. � Idea Idea: Modify various shading parameters : Modify various shading parameters � of the surface by mapping a function (such of the surface by mapping a function (such as a 2D image) onto the surface. as a 2D image) onto the surface. 2 1

  2. Texture Mapping Example Texture Mapping Example � Given an image, think of it as a 2D function Given an image, think of it as a 2D function � 2 (texture coordinates) to the from [0,1] from [0,1] 2 (texture coordinates) to the RGB color space: RGB color space: → → T T ( ( u u , , v v ) ) ( ( r r , , g g , , b b ) ) � For each geometric primitive, define a For each geometric primitive, define a � mapping M that maps points on the surface mapping M that maps points on the surface to texture coordinates: to texture coordinates: = M x y z ( , , ) = ( , ) u v M x y z ( , , ) ( , ) u v � To shade a pixel corresponding to a point To shade a pixel corresponding to a point � (x,y,z) on the surface, use the color: (x,y,z) on the surface, use the color: = = ( , , ) ( , , ) r g b r g b T M x y z T M x y z ( ( ( , , )) ( , , )) 3 Texture Mapping Example Texture Mapping Example � Texture: Texture: � � Result: Result: � 4 2

  3. Affected Parameters Affected Parameters � Final color Final color � � Reflectance (either diffuse or specular) Reflectance (either diffuse or specular) � � Surface normal (bump mapping) Surface normal (bump mapping) � � Transparency Transparency � � Reflected color (environment mapping) Reflected color (environment mapping) � � Any combination of the above Any combination of the above � 5 Bump Mapping Bump Mapping 6 3

  4. Parametrizing Objects Objects Parametrizing � Certain objects have a natural parametrization Certain objects have a natural parametrization � (e.g., Bezier patches) (e.g., Bezier patches) � Polygons (triangles): each vertex is assigned a pair Polygons (triangles): each vertex is assigned a pair � of texture coordinates (u,v). Inside, linear of texture coordinates (u,v). Inside, linear interpolation is used. interpolation is used. � How do we handle a more complex object? How do we handle a more complex object? � 7 Two- Two -Step Texture Mapping Step Texture Mapping (Bier and Sloan 1986) (Bier and Sloan 1986) � Step I Step I: define a mapping between the : define a mapping between the � texture and some intermediate surface: texture and some intermediate surface: � plane plane � � cylinder cylinder � � sphere sphere � � cube cube � � Step II Step II: Project intermediate surface onto : Project intermediate surface onto � object surface object surface 8 4

  5. Intermediate Surface Projections Intermediate Surface Projections 9 Texture Anti- -Aliasing Aliasing Texture Anti � A single screen space pixel might correspond to A single screen space pixel might correspond to � many texels texels: : many 10 5

  6. Unfiltered Texture: Unfiltered Texture: 11 Filtered Texture: Filtered Texture: 12 6

  7. Texture Pre- -Filtering Filtering Texture Pre � Problem Problem: filtering the texture during : filtering the texture during � rendering is too slow for interactive rendering is too slow for interactive performance. performance. � Solution Solution: pre : pre- -filter the texture in advance filter the texture in advance � � Summed area tables Summed area tables - - gives the average value gives the average value � of each axis- of each axis -aligned rectangle in texture space aligned rectangle in texture space � Mip Mip- -maps (tri maps (tri- -linear interpolation) linear interpolation) - - supported supported � by most of today’ by most of today ’s texture mapping hardware s texture mapping hardware 13 Solid Textures Solid Textures (Peachey 1985, Perlin Perlin 1985) 1985) (Peachey 1985, � Problem Problem: mapping a 2D image/function onto : mapping a 2D image/function onto � the surface of a general 3D object is a the surface of a general 3D object is a difficult problem: difficult problem: � Distortion Distortion � � Discontinuities Discontinuities � � Idea Idea: use a texture function defined over a : use a texture function defined over a � 3D domain 3D domain - - the 3D space containing the the 3D space containing the object object � Texture function can be digitized or Texture function can be digitized or procedural procedural � 14 7

  8. 8

  9. Procedural Textures Procedural Textures � Advantages Advantages: : � � compact representation (code vs. data) compact representation (code vs. data) � � unlimited resolution unlimited resolution � � unlimited extent unlimited extent � � controllable via parameters controllable via parameters � � Disadvantages Disadvantages: : � � Can be difficult to program and debug Can be difficult to program and debug � � Can be difficult to predict and control Can be difficult to predict and control � � Typically slower to evaluate Typically slower to evaluate � � Can be difficult to pre Can be difficult to pre- -filter filter � 18 9

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend