only need to set light uniforms once per frame