36 virtual void InitTexture(
int width = 1280,
int height = 720) = 0;
55 void Clear()
override;
83 void Clear()
override;
143 std::unique_ptr<T> fb = std::make_unique<T>();
Definition: framebuffer.h:76
unsigned int screenTexture
Definition: framebuffer.h:101
void SetShader(asset::ShaderProgram_t shader) override
Definition: framebuffer.h:93
AAFrameBufferRenderer()
Definition: framebuffer.h:78
void BeginDraw() override
Definition: framebuffer.cpp:171
void FreeBuffer()
Definition: framebuffer.cpp:180
void Clear() override
Definition: framebuffer.cpp:164
engine::Mesh & GetMeshOutput() override
Definition: framebuffer.h:91
Mesh_t mesh_output
Definition: framebuffer.h:104
void EndDraw() override
Definition: framebuffer.cpp:176
void InitTexture(int width, int height) override
Definition: framebuffer.cpp:123
int width
Definition: framebuffer.h:96
void SetMesh(engine::Mesh_t mesh) override
Definition: framebuffer.h:92
int height
Definition: framebuffer.h:97
unsigned int framebuffer
Definition: framebuffer.h:99
unsigned int intermediateFBO
Definition: framebuffer.h:100
void RenderBuffer() override
Definition: framebuffer.cpp:187
asset::ShaderProgram_t buffer_shader
Definition: framebuffer.h:103
void NewFrame(const Window &window) override
Definition: framebuffer.cpp:204
void Free() override
Definition: framebuffer.cpp:178
unsigned int mscat
Definition: framebuffer.h:102
~AAFrameBufferRenderer()
Definition: framebuffer.cpp:121
Definition: framebuffer.h:49
asset::ShaderProgram_t buffer_shader
Definition: framebuffer.h:72
int width
Definition: framebuffer.h:70
void SetMesh(Mesh_t mesh) override
Definition: framebuffer.h:61
FramebufferRenderer()
Definition: framebuffer.h:51
void Clear() override
Definition: framebuffer.cpp:71
void SetShader(asset::ShaderProgram_t shader) override
Definition: framebuffer.h:63
void BeginDraw() override
Definition: framebuffer.cpp:76
engine::Mesh_t mesh_output
Definition: framebuffer.h:73
void EndDraw() override
Definition: framebuffer.cpp:81
void FreeBuffer()
Definition: framebuffer.cpp:102
Mesh & GetMeshOutput() override
Definition: framebuffer.h:62
unsigned int rbo
Definition: framebuffer.h:69
void Free() override
Definition: framebuffer.cpp:100
void RenderBuffer() override
Definition: framebuffer.cpp:89
unsigned int colorbuffer
Definition: framebuffer.h:68
void InitTexture(int width, int height) override
Definition: framebuffer.cpp:46
void NewFrame(const Window &window) override
Definition: framebuffer.cpp:107
unsigned int framebuffer
Definition: framebuffer.h:67
~FramebufferRenderer()
Definition: framebuffer.cpp:44
int height
Definition: framebuffer.h:71
Interface for framebuffer renderers.
Definition: framebuffer.h:32
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:34
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:138
void EndDraw(int layer)
Definition: framebuffer.cpp:221
unsigned int blend_source_factor
Definition: framebuffer.h:158
LayerRenderer()
Definition: framebuffer.cpp:217
int AddLayer(asset::ShaderProgram_t shader, const engine::Window &window)
Definition: framebuffer.h:142
void InitFramebuffer(IFramebuffer *buffer, cqsp::asset::ShaderProgram_t shader, const cqsp::engine::Window &window)
Definition: framebuffer.cpp:246
unsigned int blend_dest_factor
Definition: framebuffer.h:159
void NewFrame(const cqsp::engine::Window &window)
Definition: framebuffer.cpp:237
void BeginDraw(int layer)
Definition: framebuffer.cpp:219
int GetLayerCount()
Definition: framebuffer.cpp:244
std::vector< std::unique_ptr< IFramebuffer > > framebuffers
Definition: framebuffer.h:160
void DrawAllLayers()
Definition: framebuffer.cpp:223
IFramebuffer * GetFrameBuffer(int layer)
Definition: framebuffer.h:155
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
const char * FramebufferStatusToString(GLenum error)
Definition: framebuffer.cpp:253
std::shared_ptr< Mesh > Mesh_t
Definition: mesh.h:43
GLFWwindow * window(Window *window)
Definition: application.cpp:60