Have you ever wondered if there is more beyond albedo textures? Have you ever thought about how a normal texture works, and why it’s purple? What about the difference between height maps and normal textures? Read on to learn the most common types of textures used in game design.
An albedo texture give color data. It is probably the most simple and easy to understand texture.
Just like taping a sign to a light post in real life, applying an albedo texture pastes the color onto a geometry in the game engine, so to speak.
You can very well grasp the function of a height map by its name — it provides the height information. This texture is typically a grey scale image, where the brightness of each pixel corresponds to a particular height on a mesh.
A height map can give an otherwise flat mesh the illusion of depth, like a brick wall with individual bricks sticking out.
Similar to height maps, a normal can give a “depth” effect to a flat mesh by simulating high and low points. Also like a height map, it bases its height information off of color data. However, this is where similarities end between height and normal maps.
Well, instead of 1-dimensional greyscale color data, a normal map is based off of 3-dimensional data. Each dimension — X, Y, and Z — are mapped to an RGB color channel. This allows for more complex spatial data to be encoded, compared to a height map. However, the majority of the time you only use one axis anyway.
An ambient occlusion (AO) map is a baked light map that creates an indirect lighting effect. Since AO maps are static in nature, they are only realistic in situations where the lighting has been predetermined.
An emission texture simply tells the shader to output light from the bright areas on a texture. The brightness of the color is proportional to how much light the material emits — higher RGB values emit more light. For example, an RGB value of (128, 128, 100) is brighter than (28, 28, 0).