Texture Types

From The VG Resource Wiki
Jump to: navigation, search

This page describes the various types of textures, how to identify them, and how they are used in materials and shaders.

For basic information on using materials, see Texture Basics. For tips on how to create the kinds of textures described here, see Creating Textures.

Note: This page is currently under construction. Until it is finished, some sections may be missing detailed descriptions or examples.

Color / Diffuse Map

Color maps (also referred to as diffuse maps) are the main textures on a model, and display the material's base colors. In default lighting, the color seen in the texture is exactly the color seen on the model where light is shining on it. For many games, especially older ones, some models may only have a single texture, putting all of the material's detail into the color map.

For materials with advanced shaders, such as those that include both specular and normal maps, the color map is used for the base colors of the material without any shading, highlights, or other effects. Variations in the color and other features, such as scratches or stains, are also included. Even in modern games, it is not unusual for these maps to involve large patches of solid color.

Depending on the art style or technology of the game, color maps can have attributes of other texture types "baked" into the image. Shadows, highlights, and ambient occlusion can be included in the texture to accentuate features of the model or to achieve a stylistic effect not possible on the game's engine. This is heavily used in games which rely on flat lighting.

Alpha / Transparency

Alpha maps are grey-scale images that define which parts of the texture can be seen through. Generally, white is fully opaque (can't see through) and black is fully transparent, with everything in between being partially transparent to some degree. While alpha maps are usually built into textures, can usually give the option to specify a separate texture to act as the alpha channel.

This is how transparency maps for Nintendo 64 models are ripped, as tools for ripping from that system tend to use BMP as their image format, which lacks alpha support.

Specular Map

Specular maps define the color and brightness of the highlights on a model. They are often grey-scale, but can use color.

Phong Exponent Map

Exponent maps are grey-scale images that define the size and sharpness of the highlight on a model. It is very rarely used. Only advanced rendering engines, such as Valve's Source Engine support this feature.

Reflection Map

Reflection maps define the color and brightness of reflections on a model. This is not to be confused with specular maps, though they are generally very similar and are sometimes use a single texture.

Environment

Environment maps (sometimes incorrectly referred to as Reflection maps) are textures that define what the reflections of a model should look like so that actual reflections do not have to be calculated. They can also be used to imitate specular highlights that are more complex than what the game engine allows, and are often masked by Specular or Reflection maps.

Sphere Maps / Probes

Sphere maps usually look like a picture of shiny ball or have a generally circular appearance to them, though this is not always the case. They are usually used to define how the reflections look to the camera regardless of the camera's orientation.

Panoramas

Panoramic environments are rectangular and define an environment for every possible angle in a 3D space. It uses a spherical projection map, like what is used for maps of the Earth, which means that the top and bottom of the image are stretched out compared to the center. Because of this, the areas above and below the model will have a higher resolution than those along the horizon. Game engines typically do not use this, as they are not as effective as the other two available methods. Because of their layout, however, they can be applied to a sphere model.

Cube Maps / Sky Boxes

Cube Maps (sometimes referred to as Sky Boxes) are made of six images (or a single image with six segments) that are mapped to a perfect cube to define reflections of a 3D space. Different game engines have different preferences for required structure of the cube map image(s). Because of their layout, these texture(s) can be applied to a cube model.

Normal Map

Normal maps (sometimes incorrectly referred to as bump maps) define the surface angle of a model. This is used to add extra detail to the model without needing to use more polygons. For typical normal maps, his is done by mapping horizontal angle changes to the Red channel of the image and vertical angles to the green channel. The blue channel is left at full strength, which gives normal maps their characteristic blue color.

Global Normal Maps

A rare type of normal map defines surface angles in full 3D. It does this by mapping each axis to one of the color channels. These images usually feature a full rainbow of colors.

Compressed Maps

Because normal maps only need two channels, game engines usually compress them in some way to save space. Some games will convert the image to a grey-scale image with alpha, where horizontal angles are mapped to the color and vertical angles are mapped to the alpha. More advanced game engines allow two normal maps to be combined into a single image. The Red and Green channels are used for the first map, and the Blue and Alpha channels are used for the second. If no second normal map is used, the image will simply look yellowish with bits of red and green.

Bump Map

Bump maps, like normal maps, define extra detail on the model without need polygons. Unlike normal maps, however, they achieve this by defining the relative "height" of the a surface feature. The engine then calculates surface details based on the changes in height. Games rarely use this due to normal maps allowing greater control over surface definition.

Displacement Map

Displacement maps allow models to add extra polygons to a model based on a texture. These are basically the same as bump maps, though some engines give the option of specifying the axis of the displacement by use of the RGB channels of the image.

Luminance / Incandescence / Emission / Glow Map

Luminance maps define which parts of the texture emit their own light. The image defined in the luminance texture will be added to the models' color regardless of lighting and shadows. The only exception is when occlusion maps are used, which can reduce the effect. They are usually black with areas of bright color.

Occlusion Map

Occlusion maps define the shadows created by ambient lighting from all directions. Advanced rendering engines can use this as a way to darken the model's color, highlights, and other effects all at once. They can also be used to accentuate extra model details added by normal maps. Because game models often reuse parts of a texture, a second UV map is usually needed to create an accurate occlusion map. They are usually mostly white with areas of grey.

Light Map

Light maps record lighting information on a model. The image is then multiplied over the model's color to recreate the lighting condition. They are typically used for environment models to create realistic lighting without needing to calculate things like realistic shadows and environmental lighting in real-time. Because environment models tend to repeat textures, a second UV map is required. Each polygon needs its own space on the texture, so light maps for complex environments can get rather large. At the same time, only a small amount of pixels is usually needed for smaller surfaces, so the texture usually ends up looking like a big noisy mess of small colored squares.

Combined and Compressed Maps

Game engines always have to contend with the issue of loading textures as fast as possible. The more detailed the model, the bigger the resources that must be loaded. Because of this, game engines usually have methods for reducing the file size and amount of textures required to load. A common way this is achieved is by combining multiple separate texture maps (not counting color) into a single image. Four grey-scale images can be fit into a single RGBA file. A common example of this is putting the Reflection map as the alpha channel of the specular map, reflection maps are usually grey-scale anyway and neither map allows for transparency. The game DC Universe Online takes this a step further by putting the specular map as the Red channel, the reflection map as the Green channel, and a luminance mask as the Blue channel. The result is a strange and colorful image that seems to serve no apparent purpose as a whole. Other methods include putting masks as the alpha channel of a normal map (like in Team Fortress 2) or reducing a grey-scale map to a single image channel (like the green normal maps in the Doctor Who adventure games).

Masks

Several of the texture types described above can be classified as masks. A mask is simply a texture that, in some way, controls an effect used by the rendering image to display a model. While there can be any number of possible ways to use these masks, they all behave the same way: the brighter the color of the pixel, the stronger the effect is for that particular pixel.

For example, the game Super Mario Sunshine uses large masks to control and record the placement of the pollution in levels, dynamically drawing and erasing it as the goop is cleaned up or spread around. In The Legend of Zelda: Skyward Sword, the way the villain Ghirahim's cape dissolves into diamond shapes is controlled by a mask where the brightness of the pixel determines how long in the animation sequence the pixel lasts before disappearing.