X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Frenderbuffer.cpp;h=5bea07fc81e60a70c26c7744f3e7d5a6434bc621;hp=e86a97a50b63393d3220c02dd96e9d0e5037b85c;hb=HEAD;hpb=9087cc0a372b9c739f15398c7a22c0a6eb5041bb diff --git a/source/renderbuffer.cpp b/source/renderbuffer.cpp deleted file mode 100644 index e86a97a5..00000000 --- a/source/renderbuffer.cpp +++ /dev/null @@ -1,82 +0,0 @@ -#include -#include -#include -#include "misc.h" -#include "renderbuffer.h" - -using namespace std; - -namespace Msp { -namespace GL { - -Renderbuffer::Renderbuffer() -{ - static Require _req(EXT_framebuffer_object); - - if(ARB_direct_state_access) - glCreateRenderbuffers(1, &id); - else - glGenRenderbuffers(1, &id); -} - -Renderbuffer::~Renderbuffer() -{ - glDeleteRenderbuffers(1, &id); -} - -void Renderbuffer::storage(PixelFormat fmt, unsigned wd, unsigned ht) -{ - require_pixelformat(fmt); - width = wd; - height = ht; - if(ARB_direct_state_access) - glNamedRenderbufferStorage(id, fmt, width, height); - else - { - BindRestore _bind(this); - glRenderbufferStorage(GL_RENDERBUFFER, fmt, width, height); - } -} - -unsigned Renderbuffer::get_max_samples() -{ - static unsigned max_samples = (EXT_framebuffer_multisample ? get_i(GL_MAX_SAMPLES) : 0); - return max_samples; -} - -void Renderbuffer::storage_multisample(unsigned samples, PixelFormat fmt, unsigned wd, unsigned ht) -{ - if(!samples) - return storage(fmt, wd, ht); - - static Require _req(EXT_framebuffer_multisample); - if(samples>get_max_samples()) - throw out_of_range("Renderbuffer::storage_multisample"); - - require_pixelformat(fmt); - - width = wd; - height = ht; - if(ARB_direct_state_access) - glNamedRenderbufferStorageMultisample(id, samples, fmt, width, height); - else - { - BindRestore _bind(this); - glRenderbufferStorageMultisample(GL_RENDERBUFFER, samples, fmt, width, height); - } -} - -void Renderbuffer::bind() const -{ - if(set_current(this)) - glBindRenderbuffer(GL_RENDERBUFFER, id); -} - -void Renderbuffer::unbind() -{ - if(set_current(0)) - glBindRenderbuffer(GL_RENDERBUFFER, 0); -} - -} // namespace GL -} // namespace Msp