Does anybody have experience with using the freeimage library to save the opengl buffer?
Here is my code:
void screenshot(const char *ptr){
GLint viewPort[4];
glGetIntegerv(GL_VIEWPORT, viewPort);
GLubyte *pixels=new GLubyte[3*winWidth*winHeight];
glPixelStorei(GL_PACK_ALIGNMENT, 1);
glReadPixels(0, 0, viewPort[2],viewPort[3], GL_RGB, GL_UNSIGNED_BYTE, pixels);
FIBITMAP* image = FreeImage_ConvertFromRawBits(pixels,viewPort[2], viewPort[3],3*viewPort[2]
,24,FI_RGBA_RED, FI_RGBA_GREEN_MASK, FI_RGBA_BLUE_MASK,false);
FreeImage_Save(FIF_BMP, image, ptr, 0);
FreeImage_Unload(image);
delete pixels;
}
Why do I always get a black image?