]> git.tdb.fi Git - libs/gl.git/blobdiff - source/renderer.cpp
Add a function to flush shader data in Renderer
[libs/gl.git] / source / renderer.cpp
index 90ac455107ffc078a6db1dbe8e452ea06ed44f7a..c5fe3c64a8baca0d39b7966d43edc61c3efa9be4 100644 (file)
@@ -134,14 +134,19 @@ void Renderer::add_shader_data(const ProgramData &d)
                ++state->shdata_count;
        else
        {
-               if(shdata_stack.size()>state->shdata_count)
-                       shdata_stack.erase(shdata_stack.begin()+state->shdata_count, shdata_stack.end());
+               flush_shader_data();
                shdata_stack.push_back(&d);
                state->shdata_count = shdata_stack.size();
                changed |= SHADER_DATA;
        }
 }
 
+void Renderer::flush_shader_data()
+{
+       if(shdata_stack.size()>state->shdata_count)
+               shdata_stack.erase(shdata_stack.begin()+state->shdata_count, shdata_stack.end());
+}
+
 void Renderer::set_mesh(const Mesh *m)
 {
        state->mesh = m;