+++ /dev/null
-#ifndef MSP_GL_RENDERBUFFER_H_
-#define MSP_GL_RENDERBUFFER_H_
-
-#include "bindable.h"
-#include "pixelformat.h"
-
-namespace Msp {
-namespace GL {
-
-/**
-A Renderbuffer contains a single renderable image. It can be attached to a
-Framebuffer to provide a logical buffer that is required to render the scene
-correctly but that is not needed as a texture later. Renderbuffers also
-provide a capability for multisampling, which is not available in textures.
-
-Requires the GL_EXT_framebuffer_object extension. Multisample renderbuffers
-additionally require the GL_EXT_framebuffer_multisample extension.
-*/
-class Renderbuffer: public Bindable<Renderbuffer>
-{
-private:
- unsigned id;
- unsigned width;
- unsigned height;
-
-public:
- Renderbuffer();
- ~Renderbuffer();
-
- unsigned get_id() const { return id; }
- unsigned get_width() const { return width; }
- unsigned get_height() const { return height; }
-
- /** Allocates storage for the renderbuffer. */
- void storage(PixelFormat fmt, unsigned wd, unsigned ht);
-
- /** Returns the maximum supported sample count for multisampling. If
- multisampling is not supported, returns 0. */
- static unsigned get_max_samples();
-
- /** Allocates multisample storage for the renderbuffer. All attachments in
- a framebuffer must have the same number of samples. To transfer the
- contents to a texture for furter processing, use the framebuffer blit
- functions.*/
- void storage_multisample(unsigned samples, PixelFormat fmt, unsigned wd, unsigned ht);
-
- void bind() const;
-
- static void unbind();
-};
-
-} // namespace GL
-} // namespace Msp
-
-#endif