#include <msp/gl/blend.h>
#include <msp/gl/extensions/arb_shader_objects.h>
#include <msp/gl/programbuilder.h>
+#include <msp/gl/tests.h>
#include <msp/gl/uniform.h>
#include <msp/input/keys.h>
#include <msp/time/units.h>
}
}
-void Root::render(const GL::Tag &tag) const
+void Root::render() const
{
- if(tag.id)
- return;
-
GL::Bind bind_blend(GL::Blend::alpha());
GL::Renderer renderer(&camera);
if(tag.id)
return;
- renderer.end();
- render(tag);
+ GL::Renderer::Push push(renderer);
+ renderer.set_camera(camera);
+ renderer.set_shader_program(shprog);
+ GL::BindRestore bind_blend(GL::Blend::alpha());
+ GL::BindRestore unbind_dtest(static_cast<GL::DepthTest *>(0));
+ Widget::render(renderer);
}
bool Root::button_press_event(unsigned btn)
virtual unsigned get_height() const { return geom.h; }
void tick();
- virtual void render(const GL::Tag & = GL::Tag()) const;
+ void render() const;
virtual void render(GL::Renderer &, const GL::Tag & = GL::Tag()) const;
private: