set_ambient(0.2f);
set_fog_color(Color(0.0f, 0.0f, 0.0f, 0.0f));
set_fog_density(0.0f);
+
+ for(unsigned i=0; i<8; ++i)
+ {
+ string base = format("light_sources[%d]", i);
+ shdata.uniform(base+".position", Vector4(0, 0, 1, 0));
+ shdata.uniform(base+".color", 0.0f, 0.0f, 0.0f);
+ shdata.uniform(base+".enabled", 0);
+ }
}
void Lighting::set_ambient(const Color &a)
{
auto i = find_member(lights, &l, &AttachedLight::light);
if(i!=lights.end())
+ {
lights.erase(i);
+ shdata.uniform(format("light_sources[%d].enabled", lights.size()), 0);
+ }
}
const ProgramData &Lighting::get_shader_data() const