What is it made of

The material of a surface is the sum of all the data needed to render the surface besides the mesh data itself. A material can be used on more then one surface so it makes sense to share it.


Here are a list of all the common parameters, what they do and links on how they work. It is common to put many parameter inside the same texture. By combining diffuse and alpha for example. The precise way this work depends on the shaders and lighting system used in the game engine.


An albedo map contains the pure color of an object without and lightning.


Used for cutouts and transparency. Cutouts discard pixels with a given alpha value and can be used to create see through areas in an object. Transparency is used to create objects that one can see through and that blend with the background.


Grayscale image that modify lighting to give the impression that parts of the mesh extent out or in of the mesh.


A diffuse is a color texture that also have some baked in diffuse lightning.

Displacement map

Adds extra geometry to a mesh.


Environment map ( Reflection)





A normal map encode the normal of the surface in each pixel. The normal's x,y and coordinates is stored in the rgb values. Two types of normal maps. Two types of normal maps. Tangent space normal store the normal relative to the surface they are placed on. As all normals point out from the surface in some way a tangent space map will have a mix of primarily blue. Tangent space maps is good for things that can deform such as characters. Static things can be given a Object space normal map. This maps have all the colors of the rainbow as the normals will point in all possible directions.



Controls the specular intensitity of the light.

Material Type

Software Rendering

In software rendering the material is really limited to what the renderer support.

Color - Color of the surface.

Texture - Omgz next gen. Two if you are lucky.

Blend - How to blend the things over what is already drawn.

Fixed Function

In a fixed function pipeline there are still a limited number of options so it is easy to make sense of it all. A number of standard ways to do things got some common names that are still in used in the shader world.

Texture - Textures

States - States for all the possible settings the fixed function support.

Shader Based

When using shaders the material need to know what shaders to use. Shaders are can have any parameter so more or less anything can be sent in to it and then one hope the shader make sense of it.


Indexed Material Mapping Technique - 2020

Rendering Layered Materials with Anisotropic Interfaces - 2020

An Efficient Transport Estimator for Complex Layered Materials - 2020

Indexed Material Mapping Tecnique - 2020

Approximating water effects using terrain height maps part 1: Reflections - 2019

Autodesk - A Surface Standard - 2019

An Introduction To Real-Time Subsurface Scattering - 2019

Material Advances in Call of Duty: WWII - 2018

May the Source Be with You: NVIDIA Open Sources Material Definition Language SDK - 2018

Material Advances in Call of Duty: WWII - 2018

Practical Multilayered Materials in Call of Duty: Infinite Warfare - 2017

Practical Multilayered Materials in Call of Duty: Infinite Warfare - 2017

Crafting a Next-Gen Material Pipeline for The Order: 1886 - 2014

Materials that need Forward Shading - 2014

Real-time Image Quilting: Arbitrary Material Blends, Invisible Seams, and No Repeats - 2011

Advanced Material Rendering in Two Worlds 2 - 2010

High Quality, High Performance Graphics in Filament