TheCherno/Sparky

Multiple post effects passes

Luminiscental opened this issue · 0 comments

At the moment, only the last PostEffectsPass in PostEffects' m_Passes is actually rendered.
To fix this you could change this:

target->Bind();
API::SetActiveTexture(GL_TEXTURE0);
source->GetTexture()->Bind();

quad->Bind();
indices->Bind();

for (PostEffectsPass* pass : m_Passes)
    pass->RenderPass(target);

indices->Unbind();
quad->Unbind();

to this:

target->Bind();
API::SetActiveTexture(GL_TEXTURE0);
source->GetTexture()->Bind();

quad->Bind();
indices->Bind();

m_Passes[0]->RenderPass(target);

target->GetTexture()->Bind();

for (uint i = 1; i < m_Passes.size(); i++)
    m_Passes[i]->RenderPass(target);

indices->Unbind();
quad->Unbind();