Chapter 2. The Basics of GLSL Shaders
In this chapter, we will cover:
Implementing diffuse, per-vertex shading with a single point light source
Implementing per-vertex ambient, diffuse, and, specular (ADS) shading
Using functions in shaders
Implementing two sided shading
Implementing flat shading
Using subroutines to select shader functionality
Discarding fragments to create a perforated look