frame buffer
parent
722ae6fa6f
commit
321379fb12
|
@ -1,6 +1,6 @@
|
|||
cmake_minimum_required(VERSION 3.25)
|
||||
|
||||
set(BLT_GRAPHICS_VERSION 0.9.12)
|
||||
set(BLT_GRAPHICS_VERSION 0.9.13)
|
||||
set(BLT_GRAPHICS_TEST_VERSION 0.0.1)
|
||||
|
||||
project(BLT_WITH_GRAPHICS VERSION ${BLT_GRAPHICS_VERSION})
|
||||
|
|
|
@ -19,9 +19,32 @@
|
|||
#ifndef BLT_WITH_GRAPHICS_FRAMEBUFFER_H
|
||||
#define BLT_WITH_GRAPHICS_FRAMEBUFFER_H
|
||||
|
||||
#include "blt/gfx/gl_includes.h"
|
||||
|
||||
namespace blt::gfx
|
||||
{
|
||||
class fbo_t
|
||||
{
|
||||
public:
|
||||
enum class fbo_draw_t : GLuint
|
||||
{
|
||||
DRAW = GL_DRAW_FRAMEBUFFER,
|
||||
READ = GL_READ_FRAMEBUFFER,
|
||||
BOTH = GL_FRAMEBUFFER
|
||||
};
|
||||
private:
|
||||
GLuint fboID;
|
||||
public:
|
||||
void create();
|
||||
|
||||
void bind(fbo_draw_t type = fbo_draw_t::BOTH) const;
|
||||
|
||||
bool validate();
|
||||
|
||||
static void unbind();
|
||||
|
||||
void destroy();
|
||||
};
|
||||
}
|
||||
|
||||
#endif //BLT_WITH_GRAPHICS_FRAMEBUFFER_H
|
||||
|
|
|
@ -19,4 +19,28 @@
|
|||
namespace blt::gfx
|
||||
{
|
||||
|
||||
void fbo_t::create()
|
||||
{
|
||||
glGenFramebuffers(1, &fboID);
|
||||
}
|
||||
|
||||
void fbo_t::bind(fbo_draw_t type) const
|
||||
{
|
||||
glBindFramebuffer(static_cast<GLuint>(type), fboID);
|
||||
}
|
||||
|
||||
void fbo_t::unbind()
|
||||
{
|
||||
glBindFramebuffer(GL_FRAMEBUFFER, 0);
|
||||
}
|
||||
|
||||
void fbo_t::destroy()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
bool fbo_t::validate()
|
||||
{
|
||||
return glCheckFramebufferStatus(GL_FRAMEBUFFER) == GL_FRAMEBUFFER_COMPLETE;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue