#ifndef FBO_H_
#define FBO_H_

#include <GLFW/glfw3.h>

class FBO {
    public:
        FBO();
        ~FBO();

        GLuint fbo_id_;
        GLuint albedo_gbuffer_id_;
        GLuint position_gbuffer_id_;
        GLuint normal_gbuffer_id_;
        GLuint depth_rbo_id_;

        void Init(int width, int height);
        void Bind();
        void Unbind();
        void Cleanup();
        GLuint GetAlbedoGbuffer() const;
        GLuint GetPositionGbuffer() const;
        GLuint GetNormalGbuffer() const;
};

#endif // FBO_H_