34 virtual void InitTexture(
int width = 1280,
int height = 720) = 0;
53 void Clear()
override;
78 void Clear()
override;
137 std::unique_ptr<T> fb = std::make_unique<T>();
Definition: framebuffer.h:71
unsigned int screenTexture
Definition: framebuffer.h:96
void SetShader(asset::ShaderProgram_t shader) override
Definition: framebuffer.h:88
AAFrameBufferRenderer()
Definition: framebuffer.h:73
void BeginDraw() override
Definition: framebuffer.cpp:160
void FreeBuffer()
Definition: framebuffer.cpp:166
void Clear() override
Definition: framebuffer.cpp:153
engine::Mesh & GetMeshOutput() override
Definition: framebuffer.h:86
Mesh_t mesh_output
Definition: framebuffer.h:99
void EndDraw() override
Definition: framebuffer.cpp:162
void InitTexture(int width, int height) override
Definition: framebuffer.cpp:116
int width
Definition: framebuffer.h:91
void SetMesh(engine::Mesh_t mesh) override
Definition: framebuffer.h:87
int height
Definition: framebuffer.h:92
unsigned int framebuffer
Definition: framebuffer.h:94
unsigned int intermediateFBO
Definition: framebuffer.h:95
void RenderBuffer() override
Definition: framebuffer.cpp:173
asset::ShaderProgram_t buffer_shader
Definition: framebuffer.h:98
void NewFrame(const Window &window) override
Definition: framebuffer.cpp:190
void Free() override
Definition: framebuffer.cpp:164
unsigned int mscat
Definition: framebuffer.h:97
~AAFrameBufferRenderer()
Definition: framebuffer.cpp:114
Definition: framebuffer.h:47
asset::ShaderProgram_t buffer_shader
Definition: framebuffer.h:67
void SetMesh(Mesh_t mesh) override
Definition: framebuffer.h:59
FramebufferRenderer()
Definition: framebuffer.h:49
void Clear() override
Definition: framebuffer.cpp:64
void SetShader(asset::ShaderProgram_t shader) override
Definition: framebuffer.h:61
void BeginDraw() override
Definition: framebuffer.cpp:69
engine::Mesh_t mesh_output
Definition: framebuffer.h:68
void EndDraw() override
Definition: framebuffer.cpp:74
void FreeBuffer()
Definition: framebuffer.cpp:95
Mesh & GetMeshOutput() override
Definition: framebuffer.h:60
void Free() override
Definition: framebuffer.cpp:93
void RenderBuffer() override
Definition: framebuffer.cpp:82
unsigned int colorbuffer
Definition: framebuffer.h:66
void InitTexture(int width, int height) override
Definition: framebuffer.cpp:38
void NewFrame(const Window &window) override
Definition: framebuffer.cpp:100
unsigned int framebuffer
Definition: framebuffer.h:65
~FramebufferRenderer()
Definition: framebuffer.cpp:36
Interface for framebuffer renderers.
Definition: framebuffer.h:30
virtual void InitTexture(int width=1280, int height=720)=0
virtual void BeginDraw()=0
virtual void RenderBuffer()=0
virtual void SetShader(asset::ShaderProgram_t shader)=0
virtual Mesh & GetMeshOutput()=0
virtual ~IFramebuffer()
Definition: framebuffer.h:32
virtual void SetMesh(Mesh_t)=0
virtual void NewFrame(const Window &window)=0
Renders a series of framebuffers onto screen. This is a relatively simple way of allowing organizatio...
Definition: framebuffer.h:133
void EndDraw(int layer)
Definition: framebuffer.cpp:205
int AddLayer(asset::ShaderProgram_t shader, const engine::Window &window)
Definition: framebuffer.h:136
void InitFramebuffer(IFramebuffer *buffer, cqsp::asset::ShaderProgram_t shader, const cqsp::engine::Window &window)
Definition: framebuffer.cpp:230
void NewFrame(const cqsp::engine::Window &window)
Definition: framebuffer.cpp:221
void BeginDraw(int layer)
Definition: framebuffer.cpp:203
int GetLayerCount()
Definition: framebuffer.cpp:228
std::vector< std::unique_ptr< IFramebuffer > > framebuffers
Definition: framebuffer.h:152
void DrawAllLayers()
Definition: framebuffer.cpp:207
IFramebuffer * GetFrameBuffer(int layer)
Definition: framebuffer.h:149
The window handles the initialization of the callbacks, and all the input and output....
Definition: window.h:24
std::shared_ptr< ShaderProgram > ShaderProgram_t
The preferred way of using a shader program.
Definition: shader.h:113
Definition: application.cpp:55
std::shared_ptr< Mesh > Mesh_t
Definition: mesh.h:43
GLFWwindow * window(Window *window)
Definition: application.cpp:60