Picking the right shading model
To begin our exploration of scoped shader optimization techniques, let’s first discuss an important property of any shader: its shading model.
Put simply, the shading model determines how the color of your object’s surface will vary depending on its orientation, the position of the camera, or the lights in the scene. In other words, it is the set of mathematical computations that the engine will have to do in order to render your material for the current context.
Over the years, technical artists have developed a whole gallery of shading models to represent various types of surfaces and recreate various visual styles. While some models are dedicated to reproducing reality as accurately as possible (most notably, physically-based shading), others are simpler processes that either approximate realism or take a completely different route and apply their own look and feel to the render.
We’ve already touched upon this idea in...