3 This file is part of libmspgl
4 Copyright © 2007-2011 Mikko Rasa, Mikkosoft Productions
5 Distributed under the LGPL
9 #include "ext_framebuffer_multisample.h"
10 #include "ext_framebuffer_object.h"
11 #include "renderbuffer.h"
16 Renderbuffer::Renderbuffer()
18 static RequireExtension _ext("GL_EXT_framebuffer_object");
20 glGenRenderbuffersEXT(1, &id);
23 Renderbuffer::~Renderbuffer()
25 glDeleteRenderbuffersEXT(1, &id);
28 void Renderbuffer::storage(PixelFormat fmt, unsigned w, unsigned h)
30 Bind _bind(this, true);
33 glRenderbufferStorageEXT(GL_RENDERBUFFER_EXT, fmt, width, height);
36 void Renderbuffer::storage_multisample(unsigned samples, PixelFormat fmt, unsigned w, unsigned h)
38 static RequireExtension _ext("GL_EXT_framebuffer_multisample");
40 Bind _bind(this, true);
43 glRenderbufferStorageMultisampleEXT(GL_RENDERBUFFER_EXT, samples, fmt, width, height);
46 void Renderbuffer::bind() const
49 glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, id);
52 void Renderbuffer::unbind()
55 glBindRenderbufferEXT(GL_RENDERBUFFER_EXT, 0);