Threaded gl window "pops"

Hey there,

I have a threaded app that runs the gl inside a separate thread.
There is a main window with the gl window inside it.

Everything shows fine and works great.

However, whenever the main window is moved around, the images in the gl window seem to “pop” and shift in random directions.

I was wondering if anyone had any ideas. I was thinking it might be a synchronization problem, but am not sure which windows messages i may have to synchronize.

I am using c++ builder on winxp.



Hi !

It depends on how you do it, when you resize the window you get a WM_SIZE message, make sure you pass this on correct to the rendering thread.

Also, if you run it in a separate thread, is the window that contains the OpenGL context in the same thread or in the main thread ?, if it’s not in the same thread you will get WM_PAINT message in the wrong thread (if you use them), if you have your own messageloop then you don’t have that problem of course.

If you have all OpenGL code in the thread you should not have any problems at all.


thanks for the reply…

The window is created in the main thread, but used in the rendering thread…I will try and put a message loop in the rendering thread to deal with the messages that way…

it will have to wait, as there is a more pressing bug.

[This message has been edited by bumby (edited 08-25-2003).]