]> git.tdb.fi Git - libs/gl.git/blobdiff - source/lighting.cpp
Create ProgramData for materials and lights
[libs/gl.git] / source / lighting.cpp
index 517530a2f128854f964f673411f11eedfc97df87..515733a6b253e13a69f2b8a117680a73f487e6cf 100644 (file)
@@ -41,6 +41,14 @@ void Lighting::detach(unsigned i)
                Light::unbind_from(i);
 }
 
+void Lighting::update_shader_data(const Matrix &view_matrix)
+{
+       shdata.uniform("ambient_color", ambient);
+       for(unsigned i=0; i<lights.size(); ++i)
+               if(lights[i])
+                       lights[i]->update_shader_data(shdata, view_matrix, i);
+}
+
 void Lighting::bind() const
 {
        if(!set_current(this))