c - OpenGL: Save framebuffer to image, file -


i wrote lines of code draw spinning rectangle:

#include "glut.h" static glfloat spin = 0.0; /* current angle */ void init(void)  {     glclearcolor (0.0, 0.0, 0.0, 0.0);     glshademodel (gl_flat); } void display(void) {     glclear(gl_color_buffer_bit);     glpushmatrix();     glrotatef(spin, 0.0, 0.0, 1.0);  /* rotate oxyz (oz) */     glcolor3f(1.0, 1.0, 1.0); /* bgr-color: white; */     glrectf(-25.0, -25.0, 25.0, 25.0); /* rectangle */     glpopmatrix();     glutswapbuffers();  /* swap 2 buffer */ } void spindisplay(void) {     spin = spin + 2.0;  /* add 2 degrees every loop action */     if (spin > 360.0)         spin = spin - 360.0;     glutpostredisplay();  /* alert: redraw */ } /* change window mode */ void reshape(int w, int h) {     glviewport (0, 0, (glsizei) w, (glsizei) h); /* change viewport */     glmatrixmode(gl_projection);     glloadidentity();     glortho(-50.0, 50.0, -50.0, 50.0, -1.0, 1.0);     glmatrixmode(gl_modelview);     glloadidentity(); } /* mouse interaction */ void mouse(int button, int state, int x, int y)  {     switch (button) {     case glut_left_button:  /* left mouse */         if (state == glut_down)             glutidlefunc(spindisplay); /* idle mode switch spindisplay */         break;         //case glut_middle_button:  /* middle mouse button */         //if (state == glut_down)         //glutidlefunc(null);         //break;     default:         break;     } } /* main */ int main(int argc, char** argv) {     glutinit(&argc, argv);     glutinitdisplaymode (glut_double | glut_rgb);  /* double buffer */     glutinitwindowsize (500, 500);      glutinitwindowposition (100, 100);     glutcreatewindow ("spinning rectangle");     init ();     glutdisplayfunc(display);      glutreshapefunc(reshape); /* reshape func (redraw) when window size changed */     glutmousefunc(mouse); /* mouse func */     glutmainloop();     return 0; } 

and wanna save framebuffer image (jpeg, bmp, tiff) or file. tell me how? need use lib jpeglib, libtiff?


Comments

Popular posts from this blog

Why does Ruby on Rails generate add a blank line to the end of a file? -

keyboard - Smiles and long press feature in Android -

node.js - Bad Request - node js ajax post -