Light::Light():
color(1),
+ transmittance(1),
position(0, 0, 1, 0),
spot_dir(0, 0, -1),
spot_exp(0),
color = c;
}
+void Light::set_transmittance(const Color &t)
+{
+ transmittance = t;
+}
+
void Light::set_matrix(const Matrix &m)
{
Placeable::set_matrix(m);
{
string base = format("light_sources[%d]", i);
shdata.uniform(base+".position", view_matrix*position);
- shdata.uniform(base+".color", color.r, color.g, color.b);
+ shdata.uniform(base+".color", color.r*transmittance.r, color.g*transmittance.g, color.b*transmittance.b);
}