23 #include <boost/scoped_ptr.hpp>
26 #ifndef KJB_GR_FBO_OFFSCREEN_H
27 #define KJB_GR_FBO_OFFSCREEN_H
29 #ifdef KJB_HAVE_OPENGL
41 class Fbo_offscreen_buffer
44 Fbo_offscreen_buffer(
int width_in,
int height_in,
bool grayscale=
true);
64 void render(
const Renderable&
object);
67 void init_color_fbo();
68 void init_grayscale_fbo();
70 int get_width()
const {
return width_; }
71 int get_height()
const {
return height_; }
73 ::kjb::opengl::Framebuffer_object& get_fbo() {
return *fbo_; }
74 ::kjb::opengl::Renderbuffer& get_depth_buffer() {
return *depth_; }
75 ::kjb::opengl::Renderbuffer& get_color_buffer() {
return *color_; }
81 boost::scoped_ptr<kjb::opengl::Framebuffer_object> fbo_;
82 boost::scoped_ptr<kjb::opengl::Renderbuffer> depth_;
83 boost::scoped_ptr<kjb::opengl::Renderbuffer> color_;
87 mutable GLint viewport_[4];
88 mutable bool viewport_saved_;
Abstract class to render this object with GL.
void render(const Cuboid &c)
Definition: psi_weighted_box.cpp:56