mirror of
https://github.com/Almamu/linux-wallpaperengine.git
synced 2025-07-14 05:12:25 +08:00
~ Fixed multiple screens not getting a background drawn
Signed-off-by: Alexis Maiquez <almamu@almamu.com>
This commit is contained in:
parent
577b81215b
commit
fa2720f07c
@ -88,15 +88,17 @@ void CContext::render ()
|
||||
if (this->m_viewports.empty () == false)
|
||||
{
|
||||
bool firstFrame = true;
|
||||
bool renderFrame = true;
|
||||
auto cur = this->m_viewports.begin ();
|
||||
auto end = this->m_viewports.end ();
|
||||
|
||||
for (; cur != end; cur ++)
|
||||
{
|
||||
this->m_wallpaper->render (*cur, firstFrame);
|
||||
this->m_wallpaper->render (*cur, renderFrame, firstFrame);
|
||||
// scenes need to render a new frame for each viewport as they produce different results
|
||||
// but videos should only be rendered once per group of viewports
|
||||
firstFrame = !this->m_wallpaper->is <CVideo> ();
|
||||
firstFrame = false;
|
||||
renderFrame = !this->m_wallpaper->is <CVideo> ();
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -185,9 +185,9 @@ void CWallpaper::setupShaders ()
|
||||
this->a_TexCoord = glGetAttribLocation (this->m_shader, "a_TexCoord");
|
||||
}
|
||||
|
||||
void CWallpaper::render (glm::vec4 viewport, bool newFrame)
|
||||
void CWallpaper::render (glm::vec4 viewport, bool renderFrame, bool newFrame)
|
||||
{
|
||||
if (newFrame == true)
|
||||
if (renderFrame == true)
|
||||
this->renderFrame (viewport);
|
||||
|
||||
int windowWidth = 1920;
|
||||
|
@ -31,7 +31,7 @@ namespace WallpaperEngine::Render
|
||||
/**
|
||||
* Performs a render pass of the wallpaper
|
||||
*/
|
||||
void render (glm::vec4 viewport, bool newFrame = true);
|
||||
void render (glm::vec4 viewport, bool renderFrame = true, bool newFrame = true);
|
||||
|
||||
/**
|
||||
* @return The container to resolve files for this wallpaper
|
||||
|
Loading…
Reference in New Issue
Block a user