Rev Author Line No. Line
23 ovan 1 #ifndef OGL4_FBO
2 #define OGL4_FBO
3  
4 #include "ogl4.h"
5 #include "../fbo.h"
6  
7 namespace sleek
8 {
9     namespace driver
10     {
11         template<bool dsa>
12         class ogl4_fbo : public fbo
13         {
14             public:
15                 ogl4_fbo(const math::vec2i &size, const std::vector<TextureFormat> &) noexcept;
16                 virtual ~ogl4_fbo() noexcept;
17  
18                 virtual void* getHardwareTarget() const noexcept { return (void*)GL_FRAMEBUFFER; }
19                 virtual void* getHardwareLink() const noexcept;
20  
21                 virtual void resize(const math::vec2i &size) noexcept;
22  
23                 virtual void update() noexcept;
24                 virtual void bind() noexcept;
25                 virtual void bind(int) noexcept;
26                 virtual void unbind() noexcept;
27             protected:
28                 GLenum status;
29                 GLuint framebuffer;
30                 GLuint depthbuffer;
31             private:
32         };
33     }
34 }
35  
36 #endif