Is it possible to use some openGL functions to take a screenshot and maybe save it to a pre-defined dir?
Code would help!
Thanks in advance,
Sérgio “KeSh” Rui
Is it possible to use some openGL functions to take a screenshot and maybe save it to a pre-defined dir?
Code would help!
Thanks in advance,
Sérgio “KeSh” Rui
Originally posted by KeSh:
Is it possible to use some openGL functions to take a screenshot and maybe save it to a pre-defined dir?
Unfortunately, there is no such feature in OpenGL. Though, it doesn’t mean you can’t solve the problem.
You may consider using glReadPixels() to get the data from your color buffer and then - having a pixel data of what you see on a screen - you can save it to a file. The process of creating an image file might be a little confusing. You can go for some graphics library where you will find functions that create an image file basing on a data you have.
Cheers
here it comes, quick and dirty:
void Screendump(char *destFile, short W, short H) {
FILE *out = fopen(destFile, "w");
char pixel_data[3*W*H];
short TGAhead[] = {0, 2, 0, 0, 0, 0, W, H, 24};
glReadBuffer(GL_FRONT);
glReadPixels(0, 0, W, H, GL_BGR, GL_UNSIGNED_BYTE, pixel_data);
fwrite(&TGAhead, sizeof(TGAhead), 1, out);
fwrite(pixel_data, 3*W*H, 1, out);
fclose(out); }
creates a 24-bit uncompressed true color tga-file, width W and height H. for a complete description of tga go to www.wotsit.org. if you use a doublebuffered configuration, be sure to swap buffers before you call the screendump function.