Graphics Reference
In-Depth Information
Chapter 20
Textures and Texture
Mapping
20.1 Introduction
As we said in Chapter 1, texture mapping can be used to add detail to the appear-
ance of an object. Texture mapping has little to do with either texture (in the sense
of the roughness or smoothness you feel when you touch something) or maps; the
term is an artifact of the early history of graphics.
Why is it called texture mapping? Informally speaking, a long time ago small
details of models, whether geometric or color-related, were represented in the
model of the object by “painting” them onto the model, as in a trompe l'oeil
painting. You could paint a tiny bright spot on a model to look like a highlight,
regardless of the lighting in the scene. These details were called texture, and
they were stored in an image array. The scene modeler also had to associate
each vertex of the model to a location in the image array, thus “mapping”
the model to the image (although the general goal was just the opposite—this
mapping was used to “apply” the image to the model, like a decal). Soon it
became clear that rather than mapping the albedo (i.e., the fraction of power
reflected) we could map other parameters of the lighting model, like the normal
vector. Varying the normal vector made the model appear rippled or bumpy; in
other words, the appearance of texture . But the word “texture” was already
used to mean something different, so this was called bump mapping. Later it
became clear that we could also store small variations in surface position in a
map, and while this should have been called bump mapping, since it actually
added bumps to a surface, that term was in use, so it was called displacement
mapping. Finally, when programmable GPUs were becoming common, their
texture memory was the only randomly addressable data structure available to
the programmer, and it was often used to store n -dimensional arrays, pointers,
547
 
 
 
 
 
Search WWH ::




Custom Search