Seems that we might need 4 parameters so we can encode the directional lighting value in the w component (?)
Also changed to a fixed number of lights instead of a vector.
had to add new Uniform Set method