#ifndef FRAMEBUFFER_H #define FRAMEBUFFER_H #include #include class Texture; class FrameBuffer { private: FrameBuffer(int id) : fbo(id) {} protected: GLuint fbo; std::vector textures; std::vector attachments; public: FrameBuffer(); ~FrameBuffer(); void addTexture(Texture* tex, GLenum attachment); void initColorAttachments(); void bindFBO() const; Texture* getTexture(int texId); static const FrameBuffer* screen; }; #endif // FRAMEBUFFER_H