diff --git a/include/Engine/Rendering/DrawFinalPass.h b/include/Engine/Rendering/DrawFinalPass.h index 7e2b7853..31dabac2 100644 --- a/include/Engine/Rendering/DrawFinalPass.h +++ b/include/Engine/Rendering/DrawFinalPass.h @@ -27,7 +27,7 @@ public: void OnWindowResize(); //Return the texture that is used in later stages to apply the bloom effect - GLuint BloomTexture() const { + GLuint BloomTexture() { if (m_MSAA){ m_AntiAliasedFrameBuffer->Bind(); glClearColor(0.f, 0.f, 0.f, 0.f); @@ -40,35 +40,29 @@ public: 0, 0, m_Renderer->GetViewportSize().Width, m_Renderer->GetViewportSize().Height, 0, 0, m_Renderer->GetViewportSize().Width, m_Renderer->GetViewportSize().Height, GL_COLOR_BUFFER_BIT, GL_NEAREST); - glReadBuffer(GL_BACK); return m_AntiAliasedTexture; } return m_BloomTexture; } //Return the texture with diffuse and lighting of the scene. - GLuint SceneTexture() const { + GLuint DrawFinalPass::SceneTexture() { if (m_MSAA) { m_AntiAliasedFrameBuffer->Bind(); glClearColor(0.f, 0.f, 0.f, 0.f); glClear(GL_COLOR_BUFFER_BIT); m_AntiAliasedFrameBuffer->Unbind(); - GLERROR("SceneTexture() 11"); m_FinalPassFrameBuffer->Read(); - GLERROR("SceneTexture() 12"); glReadBuffer(GL_COLOR_ATTACHMENT0); - GLERROR("SceneTexture() 13"); m_AntiAliasedFrameBuffer->Draw(); - GLERROR("SceneTexture() 14"); glBlitFramebuffer( 0, 0, m_Renderer->GetViewportSize().Width, m_Renderer->GetViewportSize().Height, 0, 0, m_Renderer->GetViewportSize().Width, m_Renderer->GetViewportSize().Height, GL_COLOR_BUFFER_BIT, GL_NEAREST); - GLERROR("SceneTexture() 15"); - glReadBuffer(GL_BACK); return m_AntiAliasedTexture; } - return m_SceneTexture; } + return m_SceneTexture; + } //Return the SceneTexture with the blurred HUD bits. - GLuint CombinedSceneTexture() const { + GLuint CombinedSceneTexture() { if (m_MSAA) { m_AntiAliasedFrameBuffer->Bind(); glClearColor(0.f, 0.f, 0.f, 0.f); @@ -84,7 +78,7 @@ public: } return m_CombinedTexture; } //Return the blurred scene texture. - GLuint FullBlurredTexture() const { + GLuint FullBlurredTexture() { if (m_MSAA) { m_AntiAliasedFrameBuffer->Bind(); glClearColor(0.f, 0.f, 0.f, 0.f); diff --git a/src/Engine/Rendering/DrawFinalPass.cpp b/src/Engine/Rendering/DrawFinalPass.cpp index 4765300b..bf378495 100644 --- a/src/Engine/Rendering/DrawFinalPass.cpp +++ b/src/Engine/Rendering/DrawFinalPass.cpp @@ -352,7 +352,6 @@ void DrawFinalPass::Draw(RenderScene& scene, BlurHUD* blurHUDPass) if (scene.ShouldBlur) { //This needs to be drawn only when the full scene is being renderd, and then let be, otherwise sprite and other shit will show on it. GLuint sceneTexture = SceneTexture(); - GLERROR("SceneTexture() 1"); m_FullBlurredTexture = blurHUDPass->Draw(sceneTexture, scene); } @@ -362,7 +361,6 @@ void DrawFinalPass::Draw(RenderScene& scene, BlurHUD* blurHUDPass) stateSprite->Disable(GL_DEPTH_TEST); stateSprite->Disable(GL_STENCIL_TEST); GLuint sceneTexture = SceneTexture(); - GLERROR("SceneTexture() 2"); delete stateSprite; stateSprite = new DrawFinalPassState(m_FinalPassFrameBuffer->GetHandle()); m_CombinedTexture = blurHUDPass->CombineTextures(sceneTexture, m_FullBlurredTexture); diff --git a/src/Engine/Rendering/Renderer.cpp b/src/Engine/Rendering/Renderer.cpp index eecb5a7a..91abe20b 100644 --- a/src/Engine/Rendering/Renderer.cpp +++ b/src/Engine/Rendering/Renderer.cpp @@ -227,7 +227,8 @@ void Renderer::Draw(RenderFrame& frame) if (m_DebugTextureToDraw == 0) { PerformanceTimer::StartTimer("Renderer-Color Correction Pass"); - m_DrawColorCorrectionPass->Draw(m_DrawFinalPass->SceneTexture(), m_DrawBloomPass->GaussianTexture(), frame.Gamma, frame.Exposure); + GLuint test = m_DrawFinalPass->SceneTexture(); + m_DrawColorCorrectionPass->Draw(test, m_DrawBloomPass->GaussianTexture(), frame.Gamma, frame.Exposure); PerformanceTimer::StopTimer("Renderer-Color Correction Pass"); }