From 67be40032a02d14acc5e975fd9dedd179b202372 Mon Sep 17 00:00:00 2001 From: IceCryptonym Date: Tue, 17 Mar 2020 09:15:19 +1000 Subject: [PATCH 1/3] Removed duplicate code --- src/WallpaperEngine/Irrlicht/CContext.cpp | 16 +++++++++------- src/WallpaperEngine/Irrlicht/CContext.h | 1 + 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/src/WallpaperEngine/Irrlicht/CContext.cpp b/src/WallpaperEngine/Irrlicht/CContext.cpp index ad4713f..af5d152 100644 --- a/src/WallpaperEngine/Irrlicht/CContext.cpp +++ b/src/WallpaperEngine/Irrlicht/CContext.cpp @@ -170,9 +170,7 @@ void CContext::renderFrame (Render::CScene* scene) if (this->m_viewports.empty () == true) { - this->getDevice ()->getVideoDriver ()->beginScene (true, true, scene->getScene ()->getClearColor ().toSColor()); - this->getDevice ()->getSceneManager ()->drawAll (); - this->getDevice ()->getVideoDriver ()->endScene (); + this->drawScene(scene, true); } else { @@ -183,14 +181,18 @@ void CContext::renderFrame (Render::CScene* scene) { // change viewport to render to the correct portion of the display this->getDevice ()->getVideoDriver ()->setViewPort (*cur); - - this->getDevice ()->getVideoDriver ()->beginScene (false, true, scene->getScene ()->getClearColor ().toSColor()); - this->getDevice ()->getSceneManager ()->drawAll (); - this->getDevice ()->getVideoDriver ()->endScene (); + this->drawScene(scene, false); } } } +void CContext::drawScene(Render::CScene* scene, bool backBuffer) +{ + this->getDevice ()->getVideoDriver ()->beginScene (false, true, scene->getScene ()->getClearColor ().toSColor()); + this->getDevice ()->getSceneManager ()->drawAll (); + this->getDevice ()->getVideoDriver ()->endScene (); +} + void CContext::insertShaderVariable (Render::Shaders::Variables::CShaderVariable* variable) { this->m_globalShaderVariables.push_back (variable); diff --git a/src/WallpaperEngine/Irrlicht/CContext.h b/src/WallpaperEngine/Irrlicht/CContext.h index cf11321..bf75949 100644 --- a/src/WallpaperEngine/Irrlicht/CContext.h +++ b/src/WallpaperEngine/Irrlicht/CContext.h @@ -38,6 +38,7 @@ namespace WallpaperEngine::Irrlicht irr::io::path resolveIncludeShader (const std::string& includeShader); private: void initializeViewports (irr::SIrrlichtCreationParameters& irrlichtCreationParameters); + void drawScene(Render::CScene* scene, bool backBuffer); irr::io::path resolveFile (const irr::io::path& file); From d57ad95ab4f1a09210d5a1a427a87ff92b53e946 Mon Sep 17 00:00:00 2001 From: IceCryptonym Date: Tue, 17 Mar 2020 09:19:28 +1000 Subject: [PATCH 2/3] Fix code style --- src/WallpaperEngine/Irrlicht/CContext.cpp | 6 +++--- src/WallpaperEngine/Irrlicht/CContext.h | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/WallpaperEngine/Irrlicht/CContext.cpp b/src/WallpaperEngine/Irrlicht/CContext.cpp index af5d152..95183d6 100644 --- a/src/WallpaperEngine/Irrlicht/CContext.cpp +++ b/src/WallpaperEngine/Irrlicht/CContext.cpp @@ -170,7 +170,7 @@ void CContext::renderFrame (Render::CScene* scene) if (this->m_viewports.empty () == true) { - this->drawScene(scene, true); + this->drawScene (scene, true); } else { @@ -181,12 +181,12 @@ void CContext::renderFrame (Render::CScene* scene) { // change viewport to render to the correct portion of the display this->getDevice ()->getVideoDriver ()->setViewPort (*cur); - this->drawScene(scene, false); + this->drawScene (scene, false); } } } -void CContext::drawScene(Render::CScene* scene, bool backBuffer) +void CContext::drawScene (Render::CScene* scene, bool backBuffer) { this->getDevice ()->getVideoDriver ()->beginScene (false, true, scene->getScene ()->getClearColor ().toSColor()); this->getDevice ()->getSceneManager ()->drawAll (); diff --git a/src/WallpaperEngine/Irrlicht/CContext.h b/src/WallpaperEngine/Irrlicht/CContext.h index bf75949..c456b92 100644 --- a/src/WallpaperEngine/Irrlicht/CContext.h +++ b/src/WallpaperEngine/Irrlicht/CContext.h @@ -38,7 +38,7 @@ namespace WallpaperEngine::Irrlicht irr::io::path resolveIncludeShader (const std::string& includeShader); private: void initializeViewports (irr::SIrrlichtCreationParameters& irrlichtCreationParameters); - void drawScene(Render::CScene* scene, bool backBuffer); + void drawScene (Render::CScene* scene, bool backBuffer); irr::io::path resolveFile (const irr::io::path& file); From 96839dd61b49376ec53ba77ed55f757d0e01c28e Mon Sep 17 00:00:00 2001 From: IceCryptonym Date: Tue, 17 Mar 2020 10:34:55 +1000 Subject: [PATCH 3/3] Use backBuffer parameter in drawScene --- src/WallpaperEngine/Irrlicht/CContext.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/WallpaperEngine/Irrlicht/CContext.cpp b/src/WallpaperEngine/Irrlicht/CContext.cpp index 95183d6..1b2d6fd 100644 --- a/src/WallpaperEngine/Irrlicht/CContext.cpp +++ b/src/WallpaperEngine/Irrlicht/CContext.cpp @@ -188,7 +188,7 @@ void CContext::renderFrame (Render::CScene* scene) void CContext::drawScene (Render::CScene* scene, bool backBuffer) { - this->getDevice ()->getVideoDriver ()->beginScene (false, true, scene->getScene ()->getClearColor ().toSColor()); + this->getDevice ()->getVideoDriver ()->beginScene (backBuffer, true, scene->getScene ()->getClearColor ().toSColor()); this->getDevice ()->getSceneManager ()->drawAll (); this->getDevice ()->getVideoDriver ()->endScene (); }