To export .BMP image files under Windows Vista (using VS2005), I used EasyBMP (http://easybmp.sourceforge.net/). This should actually work on any platform because you just get the source code and incorporate it into your project. The code will then look something like this: #include "easyBMP/EasyBMP.h" // or whereever you put it. ... static int frameNumber = 0; float* pixels = new float[640*480*3]; glReadPixels(0,0,640,480,GL_RGB,GL_FLOAT, pixels); BMP newBMP; newBMP.SetSize(640, 480); for (unsigned int i=0; i<640; i++) { for (unsigned int j=0; j<480; j++) { newBMP(i, 479-j)->Red = pixels[j*640*3+i*3] * 255.0f; newBMP(i, 479-j)->Green = pixels[j*640*3+i*3+1] * 255.0f; newBMP(i, 479-j)->Blue = pixels[j*640*3+i*3+2] * 255.0f; } } char frameName[80]; sprintf(frameName, "images\\frame%06d.bmp", frameNumber); newBMP.WriteToFile(frameName); frameNumber++;