36 virtual void InitTexture(
int width = 1280,
int height = 720) = 0;
55 void Clear()
override;
83 void Clear()
override;
144 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:181
void FreeBuffer()
Definition: framebuffer.cpp:190
void Clear() override
Definition: framebuffer.cpp:174
engine::Mesh & GetMeshOutput() override
Definition: framebuffer.h:91
Mesh_t mesh_output
Definition: framebuffer.h:105
void EndDraw() override
Definition: framebuffer.cpp:186
unsigned int rbo
Definition: framebuffer.h:103
void InitTexture(int width, int height) override
Definition: framebuffer.cpp:130
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:203
asset::ShaderProgram_t buffer_shader
Definition: framebuffer.h:104
void NewFrame(const Window &window) override
Definition: framebuffer.cpp:220
void Free() override
Definition: framebuffer.cpp:188
unsigned int mscat
Definition: framebuffer.h:102
~AAFrameBufferRenderer()
Definition: framebuffer.cpp:128
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:74
void SetShader(asset::ShaderProgram_t shader) override
Definition: framebuffer.h:63
void BeginDraw() override
Definition: framebuffer.cpp:79
engine::Mesh_t mesh_output
Definition: framebuffer.h:73
void EndDraw() override
Definition: framebuffer.cpp:84
void FreeBuffer()
Definition: framebuffer.cpp:105
Mesh & GetMeshOutput() override
Definition: framebuffer.h:62
unsigned int rbo
Definition: framebuffer.h:69
void Free() override
Definition: framebuffer.cpp:103
void RenderBuffer() override
Definition: framebuffer.cpp:92
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:114
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:139
void EndDraw(int layer)
Definition: framebuffer.cpp:237
unsigned int blend_source_factor
Definition: framebuffer.h:159
LayerRenderer()
Definition: framebuffer.cpp:233
int AddLayer(asset::ShaderProgram_t shader, const engine::Window &window)
Definition: framebuffer.h:143
void InitFramebuffer(IFramebuffer *buffer, cqsp::asset::ShaderProgram_t shader, const cqsp::engine::Window &window)
Definition: framebuffer.cpp:262
unsigned int blend_dest_factor
Definition: framebuffer.h:160
void NewFrame(const cqsp::engine::Window &window)
Definition: framebuffer.cpp:253
void BeginDraw(int layer)
Definition: framebuffer.cpp:235
int GetLayerCount()
Definition: framebuffer.cpp:260
std::vector< std::unique_ptr< IFramebuffer > > framebuffers
Definition: framebuffer.h:161
void DrawAllLayers()
Definition: framebuffer.cpp:239
IFramebuffer * GetFrameBuffer(int layer)
Definition: framebuffer.h:156
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:269
std::shared_ptr< Mesh > Mesh_t
Definition: mesh.h:43
GLFWwindow * window(Window *window)
Definition: application.cpp:60