3D Animation Workshop: Lesson 54: Texture Mapping Basics

Lesson 54 - Texture Mapping Basics - Part 1

We've been studying texture mapping lately in my classroom at Cogswell College, and I was impressed--as I always am--with how much confusion seems to plague this subject. The big problem often seems to be a lack of understanding of the basic issues. Let's consider some of the fundamental principles of texture mapping and test them in action in the next few lessons.

First let's get our terminology straight. I often like to use the word "surfacing" to describe everything we do to finished geometry that affects its appearance in rendering. Surfacing can be conceived of in two layers. The first layer is mandatory, and is properly called the "material." (This is exactly what it's called in both MAX and Softimage.) The material properties define the appearance of the object. These parameters include diffuse color (the main color), specularity (highlights), transparency, reflectivity, and many other less important elements. The term "material" derives from the notion that, by setting all the properties in a given way, one can create the impression that the rendered object is made of some recognizable substance, like plastic, metal or glass. But most accurately, it applies to any combination of parameter values regardless of whether the object ends up looking like a real-world material.

The values set in the material definition apply uniformly to the entire surface. If we need to create variations in the material over a surface, we can divide it into many subsurfaces with their own material definitions. But this method is very limited, and we often need to vary a material value (like diffuse color) over a single surface to get a desirable or realistic effect. This brings us to the second layer of the surfacing process. If we want to create variation within a surface, we must apply a "map" or a "texture" on top of the material. Most of the time, this second layer will completely obscure the underlying material value, but the layer approach allows us to blend a texture with the underlying material. I cannot stress enough the idea, common to all programs that I know of, that there is generally a material value (for the entire surface) underneath the texture, whether you see it or not. A texture, whether for color or transparency or anything else, covers a material value. (The primary exception is the bump map, where there can be no underlying material).

The words "texture" and "map" generate all kinds of confusion. Color bitmap images were first applied to the surfaces of models for the purpose of creating a rough, textured effect that would otherwise require an impossible amount of geometric detail. The classic example is a picture of an orange wrapped around a simple sphere to create the right pebbly effect. But regardless of its origins, the word "texture" is much more broadly used to mean any method of varying a material property (color, shininess, transparency, etc.) regardless of whether the effect looks like texture in the common meaning of that word. The word "map" originally referred only to a bitmap image that must be "mapped" onto the surface of the object. But common usage has expanded the idea to something as broad as texture. Thus MAX, for example, refers to procedural textures as "3D maps."

If we use 3D procedures (3D textures) to create variations in our materials, we play with the panels to get desired results. There is no question of how to wrap an image around our object because we are not starting with a flat image, and this is one of the great advantages of procedures. But very often we need to use bitmaps, and the biggest issue is getting the image on the bitmap properly applied to the surface of a 3D object. This is what we call "texture mapping."

Let's jump past how we map a texture to an object for a second to understand what happens after a texture is mapped.