Texturing
Instructor: Christopher Rasmussen (cer@cis.udel.edu)
March 8, 2023 Lecture 14
Outline
Bump Mapping
Bump map: Example
from wikipedia.org
Sphere WITH bumps
Sphere
Bump mapping: Why?
courtesy of Nvidia
Bump + color map: Example
Courtesy of http://www.alejandrosegovia.net
Bump mapping: Example
from MIT CG lecture notes
+
=
Bump mapping: Example
courtesy of A. Awadallah
Height map
Bump texture applied to teapot
Bump mapping: How?
from Hill
Bump mapping: Representations
from Akenine-Moller & Haines
Bump representation: Height map f(u, v)
from Akenine-Moller
& Haines
Example: Converting height maps to normal displacements (aka normal maps)
Z coordinate set to some constant scale factor; (X, Y) normalized to [0, 1] range.
Right image is mostly blue because “straight up” vector is (0.5, 0.5, 1)
courtesy of Nvidia
Bump mapping: Issues
courtesy of Nvidia
from https://en.wikipedia.org/wiki/Normal_mapping
Displacement Mapping
courtesy of spot3d.com
Bump mapping
Displacement mapping
Displacement Mapping the Sphere
courtesy of geeks3d.com
Displacement Mapping – Height Maps
courtesy of artofillusion.org -- Julian MacDonald
Texture mapping: Steps
Texturing: Creation
courtesy of H. Elias
courtesy of Nvidia
Procedural bump mapping
Texture mapping applications: Lightmaps
courtesy of K. Miller
+
=
Idea: Precompute expensive static lighting effects (such as ambient occlusion or diffuse reflectance) and “bake” them into color texture. Then scene looks more realistic as camera moves without expense of recomputing effects
Texture mapping application: Lightmaps
Tenebrae Quake screenshot
Texture mapping application: Lightmaps
Textures only
courtesy of https://jbush001.github.io/2015/06/11/quake-lightmaps.html
Texture mapping application: Lightmaps
Lightmap with bilinear filtering

Texture mapping application: Lightmaps
Textures and lightmaps combined
Lightmap example: Diffuse lighting only
Lightmap example: Light configuration
Lightmap example: Diffuse + lightmap
Texturing Pipeline (Geometry + Rasterization)
list adapted from Akenine-Moller & Haines
courtesy of R. Wolfe
Texturing Pipeline (Geometry + Rasterization)
list adapted from Akenine-Moller & Haines
courtesy of R. Wolfe
Texturing Pipeline (Geometry + Rasterization)
list adapted from Akenine-Moller & Haines
courtesy of R. Wolfe
Texturing Pipeline (Geometry + Rasterization)
list adapted from Akenine-Moller & Haines
courtesy of R. Wolfe
Texturing Pipeline (Geometry + Rasterization)
list adapted from Akenine-Moller & Haines
courtesy of R. Wolfe
Rasterization
Texture coordinates at vertices
courtesy of
R. Wolfe
Projector Functions
with texture coords)
Planar projector
courtesy of R. Wolfe
Planar projector
Orthographic projection onto XY plane: u = x, v = y
...onto YZ plane
...onto XZ plane
courtesy of
R. Wolfe
Cylindrical projector
courtesy of
R. Wolfe
Spherical projector
courtesy of R. Wolfe
Making environment textures: Cube