Renderer(const Camera *);
~Renderer();
+ /** Resets all internal state and restarts rendering. There must be no
+ unpopped state in the stack. It is permissible to call begin() multiple
+ times without an intervening end(). */
+ void begin(const Camera *);
+
MatrixStack &matrix_stack() { return mtx_stack; }
const Camera *get_camera() const { return camera; }
Renderer. DEPRECATED. */
void escape();
- /** Ends rendering, unbinding all objects and resetting state. There must
- be no unpopped state in the stack. */
+ /** Unbinds all objects and resets related state. There must be no unpopped
+ state in the stack. Rendering with the same camera can be restarted without
+ an explicit begin() call. */
void end();
void exclude(const Renderable &);
private:
void apply_state();
+ void reset_state();
};
} // namespace GL