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.
Adds extra geometry to a mesh.
Environment map ( Reflection)
- hybrid screen-space reflections - 2019
- Reflections Based on Local Cubemaps in Unity - 2017
- Stochastic Screen-Space Reflections - 2015
- The future of screenspace reflections - 2014
- Reflection System In Thief - 2014
- Reflections And Volumetrics Of Killzone Shadow Fall - 2014
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.
- Normal Mapping - 2014
- OpenGL Game Rendering Tutorial: How Normal Mapping Works - 2014
- Bump and Displacement Mapping with SlimDX and Direct3D 11 - 2013
- Gamedev Glossary: What Is “Bump Mapping”? - 2012
- Bump Mapping using GLSL - 2006
- Tutorial 26: Normal Mapping
- Tutorial 13 : Normal Mapping
- Rendering Perfect Reflections and Refractions in Path-Traced Games
Controls the specular intensitity of the light.
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.
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.
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.
- Crafting a Next-Gen Material Pipeline for The Order: 1886 - 2014
- Advanced Material Rendering in Two Worlds 2 - 2010
- Practical Multilayered Materials in Call of Duty: Infinite Warfare - 2017
- Real-time Image Quilting: Arbitrary Material Blends, Invisible Seams, and No Repeats
Practical Multilayered Materials in Call of Duty: Infinite Warfare - 2017
Material Advances in Call of Duty: WWII - 2018