X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fcore%2Frenderbuffer.cpp;fp=source%2Fcore%2Frenderbuffer.cpp;h=0000000000000000000000000000000000000000;hb=cd5f37b066352119cf92d53d0001af7ff99be437;hp=844fcd3a700e184a07538166e03925f2c848a1b6;hpb=328b67fa59ce6736949732ea8ff4ef7c6675e200;p=libs%2Fgl.git diff --git a/source/core/renderbuffer.cpp b/source/core/renderbuffer.cpp deleted file mode 100644 index 844fcd3a..00000000 --- a/source/core/renderbuffer.cpp +++ /dev/null @@ -1,84 +0,0 @@ -#include -#include -#include -#include -#include "deviceinfo.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; - GLenum gl_fmt = get_gl_pixelformat(fmt); - if(ARB_direct_state_access) - glNamedRenderbufferStorage(id, gl_fmt, width, height); - else - { - glBindRenderbuffer(GL_RENDERBUFFER, id); - glRenderbufferStorage(GL_RENDERBUFFER, gl_fmt, width, height); - glBindRenderbuffer(GL_RENDERBUFFER, 0); - } -} - -unsigned Renderbuffer::get_max_samples() -{ - return Limits::get_global().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>Limits::get_global().max_samples) - throw out_of_range("Renderbuffer::storage_multisample"); - - require_pixelformat(fmt); - - width = wd; - height = ht; - GLenum gl_fmt = get_gl_pixelformat(fmt); - if(ARB_direct_state_access) - glNamedRenderbufferStorageMultisample(id, samples, gl_fmt, width, height); - else - { - glBindRenderbuffer(GL_RENDERBUFFER, id); - glRenderbufferStorageMultisample(GL_RENDERBUFFER, samples, gl_fmt, width, height); - glBindRenderbuffer(GL_RENDERBUFFER, 0); - } -} - -void Renderbuffer::set_debug_name(const string &name) -{ -#ifdef DEBUG - if(KHR_debug) - glObjectLabel(GL_RENDERBUFFER, id, name.size(), name.c_str()); -#else - (void)name; -#endif -} - -} // namespace GL -} // namespace Msp