]> git.tdb.fi Git - libs/gl.git/blobdiff - source/renderer.cpp
Add a flag to RenderPass to render the back faces of a mesh
[libs/gl.git] / source / renderer.cpp
index 3a44dcd3c0b21bd5afd1fac151405d6e0936f5d1..31d9621ef89195688ed0febaed9e9cbc67d12169 100644 (file)
@@ -112,6 +112,11 @@ void Renderer::set_winding_test(const WindingTest *w)
        state->winding_test = w;
 }
 
+void Renderer::set_reverse_winding(bool r)
+{
+       state->reverse_winding = r;
+}
+
 void Renderer::push_state()
 {
        state_stack.push_back(state_stack.back());
@@ -220,7 +225,12 @@ void Renderer::apply_state()
                Program::unbind();
 
        if(state->winding_test)
-               state->winding_test->bind();
+       {
+               if(state->reverse_winding)
+                       state->winding_test->get_reverse().bind();
+               else
+                       state->winding_test->bind();
+       }
        else
                WindingTest::unbind();