As a polygon is rendered, we need to be able to compute the proper color for each pixel the polygon maps to. This means knowing the values of l, v, r, and n.
Given the location of a point on the polygon, finding the first three of these vectors is straightforward. Finding the correct n to use, however, can be complicated.
It turns out that the biggest issue is that having to compute n differently for each pixel is not easy to do in the vertex pipeline.