#include namespace psemek::gfx { renderbuffer::renderbuffer() { gl::GenRenderbuffers(1, &id_); } renderbuffer::renderbuffer(renderbuffer && other) { id_ = other.id_; other.id_ = 0; } renderbuffer & renderbuffer::operator = (renderbuffer && other) { if (this == &other) return *this; gl::DeleteRenderbuffers(1, &id_); id_ = other.id_; other.id_ = 0; return *this; } renderbuffer::~renderbuffer() { gl::DeleteRenderbuffers(1, &id_); } renderbuffer renderbuffer::null() { return renderbuffer(0); } void renderbuffer::bind() const { gl::BindRenderbuffer(gl::RENDERBUFFER, id_); } void renderbuffer::storage(GLenum internal_format, GLsizei width, GLsizei height) { bind(); gl::RenderbufferStorage(gl::RENDERBUFFER, internal_format, width, height); } renderbuffer::renderbuffer(GLuint id) : id_(id) {} }