public Light(Colour32 ambient, Colour32 diffuse, Colour32 specular, double spec_power = 1000.0, v4?direction = null, v4?position = null) : this( direction != null ? LightInfo.Directional(direction.Value, ambient, diffuse, specular, (float)spec_power, 0) : position != null ? LightInfo.Point(position.Value, ambient, diffuse, specular, (float)spec_power, 0) : LightInfo.Ambient(ambient)) { }