+#ifndef MSP_GL_CULLER_H_
+#define MSP_GL_CULLER_H_
+
+namespace Msp {
+namespace GL {
+
+class Renderable;
+class Renderer;
+
+class Culler
+{
+protected:
+ Culler() { }
+public:
+ virtual ~Culler() { }
+
+ virtual void setup_frame(const Renderer &) { };
+
+ virtual bool cull(const Renderer &, const Renderable &) const = 0;
+};
+
+} // namespace GL
+} // namespace Msp
+
+#endif