Files
anm2ed/src/framebuffer.h
2025-11-13 22:06:09 -05:00

37 lines
635 B
C++

#pragma once
#include <glad/glad.h>
#include <glm/glm.hpp>
namespace anm2ed
{
class Framebuffer
{
public:
enum Type
{
UNDERLAY,
LAYER,
OVERLAY,
};
GLuint fbo{};
GLuint rbo{};
GLuint texture{};
glm::vec2 size{};
glm::vec2 previousSize{};
Framebuffer();
~Framebuffer();
void set();
void resize_check();
void size_set(glm::vec2);
void viewport_set() const;
void clear(glm::vec4 = glm::vec4(1.0f, 1.0f, 1.0f, 0.0f)) const;
std::vector<uint8_t> pixels_get() const;
bool is_valid() const;
void bind() const;
void unbind() const;
};
};