Actually, assuming that the read is done with a normal glReadPixels, neither
glFlush nor glFinish are required, because OpenGL commands are guaranteed (to
appear) to complete in-order given a single context. It sounds like a driver bug
to me, or you are doing something that explicitly allows synchronous operations
and not accounting for it.
-Evan
-----Original Message-----
Sent: Friday, October 07, 2005 3:09 AM
To: Multiple recipients of list OPENGL-GAMEDEV-L
You need to call glFinish (), not glFlush (). glFlush () means that all
commands are passed to OpenGL for processing - not that the processing
has finished (for example, if you use OpenGL via Network, glFlush ()
send all commands in a packet). glFinish () on the other hand does wait
until the rendering has finished.
Cheers
Matthäus Chajdas
Rhadamés Carmona schrieb:
> Hello Everybody
>
> I am programming with 3D textures and GLSL. At some point, I was interested
> in making 2 renderings in one frame, for comparrison...
>
> void DrawScene()
> {
> glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
> Render();
> glFlush();
> ReadFrameBuffer(A);
> glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
> Render();
> glFlush();
> ReadFrameBuffer(B);
> difference = B-A;
> // Do something with difference, here!....
> glFlnish();
> glutSwapBuffer();
> }
>
> The second rendering is not correct... I get a mess. But, If I put an
> Sleep(200) after every glFluch, everything is ok!.... Coudl you give me any
> clue about what the hell is goiing on?
>
> Cheers Guys!
>
> Rix
>
> Note: I am using latest drivers....
>
> -----
> FAQ and OpenGL Resources at:
>
http://www.geocities.com/SiliconValley/Hills/9956/OpenGL
>
-----
FAQ and OpenGL Resources at:
http://www.geocities.com/SiliconValley/Hills/9956/OpenGL
--
Author: Anteru
INET:
Anteru@...
Fat City Hosting, San Diego, California --
http://www.fatcity.com
---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to:
ListGuru@... (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB OPENGL-GAMEDEV-L
(or the name of mailing list you want to be removed from). You may
also send the HELP command for other information (like subscribing).
-----
FAQ and OpenGL Resources at:
http://www.geocities.com/SiliconValley/Hills/9956/OpenGL
--
Author: Evan Hart
INET:
ehart@...
Fat City Hosting, San Diego, California --
http://www.fatcity.com
---------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to:
ListGuru@... (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB OPENGL-GAMEDEV-L
(or the name of mailing list you want to be removed from). You may
also send the HELP command for other information (like subscribing).