Work in progress. Directional, point and spot light shader.