class OpenGLRenderable
{
public:
+virtual ~OpenGLRenderable() = default;
virtual void render( RenderStateFlags state ) const = 0;
};
class Shader
{
public:
+virtual ~Shader() = default;
virtual void addRenderable( const OpenGLRenderable& renderable, const Matrix4& modelview, const LightList* lights = 0 ) = 0;
virtual void incrementUsed() = 0;
virtual void decrementUsed() = 0;