#ifndef FBO_H_ #define FBO_H_ #include struct Framebuffer { GLuint id = 0; GLuint albedoTexture = 0; GLuint positionTexture = 0; GLuint normalTexture = 0; GLuint depthTexture = 0; }; namespace FBO { Framebuffer GenerateFramebuffer(int width, int height); GLuint CreateFramebuffer(); GLuint CreateTexture(int width, int height, GLenum format); GLuint CreateDepthTexture(int width, int height); void AttachTextureToFramebuffer(GLuint framebufferId, GLuint textureId, GLenum attachment); void Cleanup(const Framebuffer& fbo); } #endif // FBO_H_