#include "CRenderbuffer.h" CRenderbuffer::CRenderbuffer() { mInitialized = false; mWidth = 0; mHeight = 0; } CRenderbuffer::CRenderbuffer(u32 Width, u32 Height) { mInitialized = false; mWidth = Width; mHeight = Height; } CRenderbuffer::~CRenderbuffer() { if (mInitialized) glDeleteRenderbuffers(1, &mRenderbuffer); } void CRenderbuffer::Init() { glGenRenderbuffers(1, &mRenderbuffer); glBindRenderbuffer(GL_RENDERBUFFER, mRenderbuffer); glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT24, mWidth, mHeight); mInitialized = true; } void CRenderbuffer::Resize(u32 Width, u32 Height) { mWidth = Width; mHeight = Height; if (mInitialized) { Bind(); glRenderbufferStorage(GL_RENDERBUFFER, GL_DEPTH_COMPONENT24, mWidth, mHeight); } } void CRenderbuffer::Bind() { if (!mInitialized) Init(); glBindRenderbuffer(GL_RENDERBUFFER, mRenderbuffer); } void CRenderbuffer::Unbind() { glBindRenderbuffer(GL_RENDERBUFFER, 0); }