Merge branch 'data-separation' of github.com:Almamu/linux-wallpaperengine into data-separation

This commit is contained in:
Alexis Maiquez 2020-03-24 01:00:58 +01:00
commit 1a6bfac3ee
2 changed files with 10 additions and 7 deletions

View File

@ -170,9 +170,7 @@ void CContext::renderFrame (Render::CScene* scene)
if (this->m_viewports.empty () == true) if (this->m_viewports.empty () == true)
{ {
this->getDevice ()->getVideoDriver ()->beginScene (true, true, scene->getScene ()->getClearColor ().toSColor()); this->drawScene (scene, true);
this->getDevice ()->getSceneManager ()->drawAll ();
this->getDevice ()->getVideoDriver ()->endScene ();
} }
else else
{ {
@ -183,14 +181,18 @@ void CContext::renderFrame (Render::CScene* scene)
{ {
// change viewport to render to the correct portion of the display // change viewport to render to the correct portion of the display
this->getDevice ()->getVideoDriver ()->setViewPort (*cur); this->getDevice ()->getVideoDriver ()->setViewPort (*cur);
this->drawScene (scene, false);
this->getDevice ()->getVideoDriver ()->beginScene (false, true, scene->getScene ()->getClearColor ().toSColor());
this->getDevice ()->getSceneManager ()->drawAll ();
this->getDevice ()->getVideoDriver ()->endScene ();
} }
} }
} }
void CContext::drawScene (Render::CScene* scene, bool backBuffer)
{
this->getDevice ()->getVideoDriver ()->beginScene (backBuffer, true, scene->getScene ()->getClearColor ().toSColor());
this->getDevice ()->getSceneManager ()->drawAll ();
this->getDevice ()->getVideoDriver ()->endScene ();
}
void CContext::insertShaderVariable (Render::Shaders::Variables::CShaderVariable* variable) void CContext::insertShaderVariable (Render::Shaders::Variables::CShaderVariable* variable)
{ {
this->m_globalShaderVariables.push_back (variable); this->m_globalShaderVariables.push_back (variable);

View File

@ -38,6 +38,7 @@ namespace WallpaperEngine::Irrlicht
irr::io::path resolveIncludeShader (const std::string& includeShader); irr::io::path resolveIncludeShader (const std::string& includeShader);
private: private:
void initializeViewports (irr::SIrrlichtCreationParameters& irrlichtCreationParameters); void initializeViewports (irr::SIrrlichtCreationParameters& irrlichtCreationParameters);
void drawScene (Render::CScene* scene, bool backBuffer);
irr::io::path resolveFile (const irr::io::path& file); irr::io::path resolveFile (const irr::io::path& file);