Imaginary numbers always confused me. Like understanding e, most explanations fell into one of two categories:| betterexplained.com
How to implement directional lighting in WebGL| webgl2fundamentals.org
How to implement spot lights in WebGL| webgl2fundamentals.org