From cd3e54292288e8380a5f2831946d5afa7f26aaf2 Mon Sep 17 00:00:00 2001 From: Antoine Pilote Date: Fri, 4 Aug 2023 17:33:25 -0400 Subject: [PATCH] Fixed rendering ghosting effect --- Nuake/src/Rendering/SceneRenderer.cpp | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/Nuake/src/Rendering/SceneRenderer.cpp b/Nuake/src/Rendering/SceneRenderer.cpp index 22f50d16..a1569429 100644 --- a/Nuake/src/Rendering/SceneRenderer.cpp +++ b/Nuake/src/Rendering/SceneRenderer.cpp @@ -53,10 +53,14 @@ namespace Nuake mGBuffer->QueueResize(framebuffer.GetSize()); GBufferPass(scene); + // SSAO + const auto& sceneEnv = scene.GetEnvironment(); + sceneEnv->mSSAO->Resize(framebuffer.GetSize()); + sceneEnv->mSSAO->Draw(mGBuffer.get(), mProjection, mView); + mShadingBuffer->QueueResize(framebuffer.GetSize()); ShadingPass(scene); - const auto& sceneEnv = scene.GetEnvironment(); Ref finalOutput = mShadingBuffer->GetTexture(); if (scene.GetEnvironment()->BloomEnabled) { @@ -112,9 +116,7 @@ namespace Nuake finalOutput = framebuffer.GetTexture(); - // SSAO - sceneEnv->mSSAO->Resize(framebuffer.GetSize()); - sceneEnv->mSSAO->Draw(mGBuffer.get(), mProjection, mView); + // Copy final output to target framebuffer mToneMapBuffer->QueueResize(framebuffer.GetSize()); @@ -131,8 +133,8 @@ namespace Nuake } mToneMapBuffer->Unbind(); - //mSSR->Resize(framebuffer.GetSize()); - //mSSR->Draw(mGBuffer.get(), framebuffer.GetTexture(), mView, mProjection, scene.GetCurrentCamera()); + mSSR->Resize(framebuffer.GetSize()); + mSSR->Draw(mGBuffer.get(), framebuffer.GetTexture(), mView, mProjection, scene.GetCurrentCamera()); framebuffer.Bind(); { @@ -141,7 +143,7 @@ namespace Nuake shader->Bind(); shader->SetUniformTex("u_Source", mToneMapBuffer->GetTexture().get(), 0); - shader->SetUniformTex("u_Source2", mToneMapBuffer->GetTexture().get(), 1); + shader->SetUniformTex("u_Source2", mSSR->OutputFramebuffer->GetTexture().get(), 1); Renderer::DrawQuad(); } framebuffer.Unbind();