take more arguments into account in lightFrom
rudimentary specular reflection