OpenGLRenderer: Handle resize/minimize
This commit is contained in:
parent
7c9dcdfbe4
commit
51ec9741df
|
|
@ -49,6 +49,7 @@ namespace Nz
|
||||||
OpenGLRenderPass m_renderPass;
|
OpenGLRenderPass m_renderPass;
|
||||||
OpenGLWindowFramebuffer m_framebuffer;
|
OpenGLWindowFramebuffer m_framebuffer;
|
||||||
RenderWindow& m_owner;
|
RenderWindow& m_owner;
|
||||||
|
Vector2ui m_size;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -21,7 +21,18 @@ namespace Nz
|
||||||
|
|
||||||
RenderFrame OpenGLRenderWindow::Acquire()
|
RenderFrame OpenGLRenderWindow::Acquire()
|
||||||
{
|
{
|
||||||
return RenderFrame(&m_renderImage[m_currentFrame], false);
|
if (m_owner.IsMinimized())
|
||||||
|
return RenderFrame();
|
||||||
|
|
||||||
|
bool invalidateFramebuffer = false;
|
||||||
|
Vector2ui size = m_owner.GetSize();
|
||||||
|
if (m_size != size)
|
||||||
|
{
|
||||||
|
invalidateFramebuffer = true;
|
||||||
|
m_size = size;
|
||||||
|
}
|
||||||
|
|
||||||
|
return RenderFrame(&m_renderImage[m_currentFrame], invalidateFramebuffer);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool OpenGLRenderWindow::Create(RendererImpl* renderer, RenderSurface* surface, const RenderWindowParameters& parameters)
|
bool OpenGLRenderWindow::Create(RendererImpl* renderer, RenderSurface* surface, const RenderWindowParameters& parameters)
|
||||||
|
|
@ -37,6 +48,8 @@ namespace Nz
|
||||||
if (!m_context)
|
if (!m_context)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
m_size = m_owner.GetSize();
|
||||||
|
|
||||||
constexpr std::size_t RenderImageCount = 2;
|
constexpr std::size_t RenderImageCount = 2;
|
||||||
|
|
||||||
m_renderImage.reserve(RenderImageCount);
|
m_renderImage.reserve(RenderImageCount);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue