GRAPHICS3D: Move viewport change to save/restore surface, framebuffer

This commit is contained in:
Paweł Kołodziejski 2021-12-05 10:36:10 +01:00
parent df0cf4bf44
commit 948923c62c
No known key found for this signature in database
GPG Key ID: 0BDADC9E74440FF7

View File

@ -532,11 +532,11 @@ bool OpenGLSdlGraphics3dManager::isVSyncEnabled() const {
}
void OpenGLSdlGraphics3dManager::drawOverlay() {
_surfaceRenderer->prepareState();
glViewport(0, 0, _overlayScreen->getWidth(), _overlayScreen->getHeight());
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
_surfaceRenderer->prepareState();
if (_overlayBackground) {
_overlayBackground->draw(_surfaceRenderer);
}
@ -564,9 +564,9 @@ OpenGL::FrameBuffer *OpenGLSdlGraphics3dManager::createFramebuffer(uint width, u
void OpenGLSdlGraphics3dManager::updateScreen() {
if (_frameBuffer) {
_frameBuffer->detach();
_surfaceRenderer->prepareState();
glViewport(0, 0, _overlayScreen->getWidth(), _overlayScreen->getHeight());
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
_surfaceRenderer->prepareState();
_surfaceRenderer->render(_frameBuffer, _gameRect);
_surfaceRenderer->restorePreviousState();
}