From 51afc1e3b594703fb3178a5f72b65c4238893bec Mon Sep 17 00:00:00 2001 From: Sergey Lipskiy Date: Sat, 1 Apr 2017 19:51:36 +0700 Subject: [PATCH] Correct DisplayWindowWindows::_readScreen --- .../OpenGLContext/windows/windows_DisplayWindow.cpp | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/Graphics/OpenGLContext/windows/windows_DisplayWindow.cpp b/src/Graphics/OpenGLContext/windows/windows_DisplayWindow.cpp index 0c158d10..16de1431 100644 --- a/src/Graphics/OpenGLContext/windows/windows_DisplayWindow.cpp +++ b/src/Graphics/OpenGLContext/windows/windows_DisplayWindow.cpp @@ -277,10 +277,13 @@ void DisplayWindowWindows::_readScreen(void **_pDest, long *_pWidth, long *_pHei return; #ifndef GLESX - const GLenum format = GL_BGR_EXT; + GLint oldMode; + glGetIntegerv(GL_READ_BUFFER, &oldMode); + glBindFramebuffer(GL_READ_FRAMEBUFFER, 0); glReadBuffer(GL_FRONT); + glReadPixels(0, m_heightOffset, m_width, m_height, GL_BGR_EXT, GL_UNSIGNED_BYTE, *_pDest); + glReadBuffer(oldMode); #else - const GLenum format = GL_RGB; + glReadPixels(0, m_heightOffset, m_width, m_height, GL_RGB, GL_UNSIGNED_BYTE, *_pDest); #endif - glReadPixels(0, m_heightOffset, m_width, m_height, format, GL_UNSIGNED_BYTE, *_pDest); }