Couch
Framebuffer.h
Go to the documentation of this file.
1 
26 #ifndef FRAMEBUFFER_H
27 #define FRAMEBUFFER_H
28 
29 #include <vector>
30 
31 #include "types.h"
32 
33 class Framebuffer {
34 public:
35  Framebuffer();
41  Framebuffer(Id fbo);
45  ~Framebuffer();
46  void Enable();
50  void Clear();
54  void Bind();
58  Vector3 clearColor = Vector3(0.0f, 0.0f, 1.0f);
62  int clearFlags = GL_COLOR_BUFFER_BIT;
66  bool depthTest = false;
67 private:
68  Id fbo;
69 };
70 
72 public:
73  void Save(Framebuffer *buffer);
74  void Restore();
75  Framebuffer *curr = new Framebuffer(0); // Start with the default framebuffer
76  static FramebufferStack *GetStack();
77 private:
78  std::vector<Framebuffer *> stack;
79 };
80 
81 #endif /* FRAMEBUFFER_H */
Definition: Framebuffer.h:71
Definition: Framebuffer.h:33
~Framebuffer()
Definition: Framebuffer.cpp:35
int clearFlags
Definition: Framebuffer.h:62
Vector3 clearColor
Definition: Framebuffer.h:58
void Bind()
Definition: Framebuffer.cpp:57
void Clear()
Definition: Framebuffer.cpp:52
bool depthTest
Definition: Framebuffer.h:66