X-Git-Url: https://git.ucc.asn.au/?p=ipdf%2Fcode.git;a=blobdiff_plain;f=src%2Fscreen.cpp;h=5f32f0d3bc546acf5c61dd1fee34ea097caa242f;hp=712bd260982bd422a489747dcc0efbd9e4032017;hb=4f0feb025e48aaaa0ffe0226c5135e116d1cb986;hpb=eb7a30473a78452a890bd453f80d4a90aee5d364 diff --git a/src/screen.cpp b/src/screen.cpp index 712bd26..5f32f0d 100644 --- a/src/screen.cpp +++ b/src/screen.cpp @@ -133,7 +133,11 @@ void Screen::ScreenShot(const char * filename) const if (pixels == NULL) Fatal("Failed to allocate %d x %d x 4 = %d pixel array", w, h, w*h*4); - glReadPixels(0,0,w, h, GL_RGBA, GL_UNSIGNED_BYTE, pixels); + + glReadBuffer(GL_FRONT); + glPixelStorei(GL_PACK_ALIGNMENT, 1); + + glReadPixels(0,0,w, h, GL_BGRA, GL_UNSIGNED_BYTE, pixels); SDL_Surface * surf = SDL_CreateRGBSurfaceFrom(pixels, w, h, 8*4, w*4, 0,0,0,0); if (surf == NULL)