in reply to Capture opengl screen

- if you use framebufferObjects, you shall add glBindFramebuffer before glReadBuffer and glReadPixels but I don't thing the problem is there
- have you checked glReadPixels doesn't sent an array of 0 ?
- I use the lib Devil (new OpenIl), with this code :
ilInit(); iluInit(); ... ILuint ratz; ilGenImages(1, &ratz); ilBindImage(ratz); vector<GLubyte> store; store.resize(Wide * Height * 4); glReadPixels(0, 0, Wide, Height, GL_RGBA, GL_UNSIGNED_BYTE, &store[0]) +; ilTexImage(Wide, Height, 1, 4, IL_RGBA, IL_UNSIGNED_BYTE, &store[0]); ilEnable(IL_FILE_OVERWRITE); ilSaveImage(sortie.c_str());

where sortie is a string containing the file to write

Hope it should help