glReadPixels

Started by
2 comments, last by MrWendell1982 19 years, 12 months ago
Hi all, I am trying to read the frame buffer on each call to my rendering function. I use the following line of code: glReadBuffer(GL_BACK); glReadPixels(0, 0, 500, 500, GL_RGB, GL_INT, &pBits); However, as soon as the call to glReadPixels is reached the program terminates. Can anyone suggest why or what i am doing wrong. I have included the code at the end. Thanks void display(void) { glMatrixMode(GL_MODELVIEW); glLoadIdentity(); glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT ); setCam(); displayGrid(); glFlush(); glutSwapBuffers(); //read the pixels from the buffer printf("Reading Pixel Values...\n"); glReadBuffer(GL_BACK); glReadPixels(0, 0, 500, 500, GL_RGB, GL_INT, &pBits); }
Advertisement
What is pBits?

The last parameter of glReadPixels requires a pointer. It looks as if you are passing it a pointer to a pointer.

If pBits is already a pointer try removing the ''&''.

- CheeseMonger
- CheeseMonger
And why are you reading from the back buffer directly after a buffer swap? When swapping the buffers, the image is in the front buffer, the content of the back buffer at that point is undefined.

This topic is closed to new replies.

Advertisement