I came across this article titled Lights and Shadows by Bartosz Ciechanowski. This is a great illustration of the Lambertian model of light and surfaces and also has great references towards the end.
Other than being very informative about lights, this is an inspiring approach in pedagogy. There are two aspects done right here. First, reach the right level of abstraction on the topic and then decompose that level into well thought out interactive visualizations.
The sliders for the interactive visualizations don't always tend to be clear about its effect. Although, one could argue that playing with the sliders and discovering its effect is part of the learning.