This texture map is used for Rayne's head. One single texture map goes all the way around one
half of her head, from her nose to the middle of the back of her head. The artist has purposefully
designed the texture so that it can be "wrapped" around the model. The other half of her head is
mapped using the same texture, only it is mirrored for the other half.
Notice that the texture doesn't have to wrap "continuously" around the geometry in one piece.
Since each triangle can be mapped independently, different areas of the texture may be mapped
onto different portions of the model arbitrarily. For example, the "teeth" objects that you see in the
corners of the texture map are just that; Rayne has fangs, which can be seen when she opens her
mouth. Of course, if a "continuous" mapping is not used, the vertices will have to be duplicated at
the texture "seams" if the texture mapping coordinates are stored at the vertex level. (They usually
Notice that we have chosen to place the origin of texture mapping space in the upper left-hand
coordinate, which mimics the way the texture is accessed in hardware. More "academic" literature
places the origin in the lower left-hand coordinate.
As we have mentioned, each vertex is assigned a set of u,v coordinates in the texture map. In
this way, the texture is "pinned down" to the surface of the mesh. To render a pixel from the middle
of a triangle, we compute interpolated u,v mapping coordinates corresponding to the pixel (similar
to Gouraud shading) and then fetch the textel at these u,v coordinates.