diff options
| author | Ryan Houdek <Sonicadvance1@gmail.com> | 2014-08-13 02:41:15 -0500 |
|---|---|---|
| committer | Ryan Houdek <Sonicadvance1@gmail.com> | 2014-08-13 02:41:15 -0500 |
| commit | f2a1dd91fe7b94580534b4299803ef9e6cb60d04 (patch) | |
| tree | 8f94445a0ae3a33f8520a207053b0f789abfcf71 /Source/Core/VideoBackends/OGL/Render.cpp | |
| parent | e4e44909d5ffa60abf81d4685a156654c463bbf9 (diff) | |
| parent | 287758f15d07cb6e0c19d861d8134124361d2d30 (diff) | |
Merge pull request #693 from Sonicadvance1/PP-shaders-improvement
Improved system for post processing shaders.
Diffstat (limited to 'Source/Core/VideoBackends/OGL/Render.cpp')
| -rw-r--r-- | Source/Core/VideoBackends/OGL/Render.cpp | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/Source/Core/VideoBackends/OGL/Render.cpp b/Source/Core/VideoBackends/OGL/Render.cpp index a3bba96fd1..d6881171e7 100644 --- a/Source/Core/VideoBackends/OGL/Render.cpp +++ b/Source/Core/VideoBackends/OGL/Render.cpp @@ -641,6 +641,9 @@ void Renderer::Shutdown() delete s_pfont; s_pfont = nullptr; s_ShowEFBCopyRegions.Destroy(); + + delete m_post_processor; + m_post_processor = nullptr; } void Renderer::Init() @@ -649,6 +652,8 @@ void Renderer::Init() g_framebuffer_manager = new FramebufferManager(s_target_width, s_target_height, s_MSAASamples); + m_post_processor = new OpenGLPostProcessing(); + s_pfont = new RasterFont(); ProgramShaderCache::CompileShader(s_ShowEFBCopyRegions, @@ -1331,7 +1336,7 @@ void Renderer::SwapImpl(u32 xfbAddr, u32 fbWidth, u32 fbHeight,const EFBRectangl ResetAPIState(); - PostProcessing::Update(s_backbuffer_width, s_backbuffer_height); + m_post_processor->Update(s_backbuffer_width, s_backbuffer_height); UpdateDrawRectangle(s_backbuffer_width, s_backbuffer_height); TargetRectangle flipped_trc = GetTargetRectangle(); @@ -1354,7 +1359,7 @@ void Renderer::SwapImpl(u32 xfbAddr, u32 fbWidth, u32 fbHeight,const EFBRectangl if (g_ActiveConfig.bUseXFB) { // Render to the real/postprocessing buffer now. - PostProcessing::BindTargetFramebuffer(); + m_post_processor->BindTargetFramebuffer(); // draw each xfb source glBindFramebuffer(GL_READ_FRAMEBUFFER, FramebufferManager::GetXFBFramebuffer()); @@ -1413,7 +1418,7 @@ void Renderer::SwapImpl(u32 xfbAddr, u32 fbWidth, u32 fbHeight,const EFBRectangl FramebufferManager::ResolveAndGetRenderTarget(rc); // Render to the real/postprocessing buffer now. (resolve have changed this in msaa mode) - PostProcessing::BindTargetFramebuffer(); + m_post_processor->BindTargetFramebuffer(); // always the non-msaa fbo GLuint fb = s_MSAASamples>1?FramebufferManager::GetResolvedFramebuffer():FramebufferManager::GetEFBFramebuffer(); @@ -1424,7 +1429,7 @@ void Renderer::SwapImpl(u32 xfbAddr, u32 fbWidth, u32 fbHeight,const EFBRectangl GL_COLOR_BUFFER_BIT, GL_LINEAR); } - PostProcessing::BlitToScreen(); + m_post_processor->BlitToScreen(); glBindFramebuffer(GL_READ_FRAMEBUFFER, 0); |
