Texture Basics

From The VG Resource Wiki
Revision as of 03:05, 3 February 2022 by FreohrWeohnataKausta (talk | contribs) (Added description of what AO is. (Shadows baked onto texture))
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

A texture is very similar to a Sprite Basics. It's a two dimensional image of pixels, most commonly an image of RGB(A) pixels like on any digital image or photo. Unlike sprites, textures are used to give 3D geometry colors, fake depth (normal), fake shadows (ambient occlusion) and more.

On modern games (started around 2000) games started to use not only color information (RGBA) on textures but also additional information for rendering additional effects, such as normal maps to fake additional geometry that's technically not there on the model. Each of these maps (color, normal and more) are usually found as separated images, for example color.png and normal.png.

Usually a texture's width and height is an exponent of 2 (commonly 16, 32 or 64 for early 3D games) and are often in square format (e.g. 32x32 pixels).

Maps

As mentioned above, modern games often have several textures (maps) for a material. This is a non-exhaustive overview of common maps and possible names:

Diffuse
This is the color of the material. Early games, such as for the Nintendo 64, only had color maps.
Albedo
Very similar to diffuse, but with all the shadows and highlights removed
Ambient Occlusion (AO)
Shadows baked onto the texture. Often used in tandem with Albedo.
Normal or Bump
For small to medium size bumps (fake geometry)
Displacement
Textures for actually deforming the mesh
Reflection or Specularity
This is only used in non-PBR (physically based rendering) specular workflows. It states where the reflection should and should not appear. For PBR workflows, prefer a Gloss/Roughness map.
Gloss or Roughness
This is used in PBR shaders. It controls the sharpness of the reflections and should be plugged into a Gloss or Roughness input. The terms Gloss and Roughness are interchangeable - they are simply inverts of each other.

See also