1 #include "ext_framebuffer_multisample.h"
2 #include "ext_framebuffer_object.h"
3 #include "renderbuffer.h"
8 Renderbuffer::Renderbuffer()
10 static Require _req(EXT_framebuffer_object);
12 glGenRenderbuffers(1, &id);
15 Renderbuffer::~Renderbuffer()
17 glDeleteRenderbuffers(1, &id);
20 void Renderbuffer::storage(PixelFormat fmt, unsigned wd, unsigned ht)
22 Bind _bind(this, true);
25 glRenderbufferStorage(GL_RENDERBUFFER, fmt, width, height);
28 void Renderbuffer::storage_multisample(unsigned samples, PixelFormat fmt, unsigned wd, unsigned ht)
30 static Require _req(EXT_framebuffer_multisample);
32 Bind _bind(this, true);
35 glRenderbufferStorageMultisample(GL_RENDERBUFFER, samples, fmt, width, height);
38 void Renderbuffer::bind() const
41 glBindRenderbuffer(GL_RENDERBUFFER, id);
44 void Renderbuffer::unbind()
47 glBindRenderbuffer(GL_RENDERBUFFER, 0);