In Chapter 3, Lights, we compared directional and positional lights:

In point lighting, for every point on the surface of our object, we compute the direction from the light to that point on the surface. We then do the same thing we did for directional lighting. Remember that we took the dot product of the surface normal (the direction the surface is facing) and the light direction. This gave us a value of 1 if the two directions matched, which means the fragment should be fully lit, 0 if the two directions were perpendicular, and -1 if they were opposite. We directly used that value to multiply the color of the surface, which gave us lighting.
In this section, we will combine directional and positional lights. We are going to create a third type of light: a directional point light, commonly referred to as a spot light. This light has...