#pragma once #include "render/OpenGlExtensions.h" #include namespace ZL { class FrameBuffer { private: GLuint fbo = 0; GLuint textureID = 0; int width, height; bool useMipmaps; public: FrameBuffer(int w, int h, bool useMipmaps = false); ~FrameBuffer(); FrameBuffer(const FrameBuffer&) = delete; FrameBuffer& operator=(const FrameBuffer&) = delete; void Bind(); void Unbind(); void GenerateMipmaps(); GLuint getTextureID() const { return textureID; } int getWidth() const { return width; } int getHeight() const { return height; } }; } // namespace ZL