Hi all,
I'm working on a custom QGLWidget used to perform 2d display for a camera acquisition.
Basically I grab the image buffer and display in my QGLWidget.
I noticed that if I call a method from my external grabbing thread the updateGL() doesn't work

Qt Code:
  1. void MyDisplayGL::DrawBuffer(BYTE* apBuffer)
  2. {
  3. data=apBuffer;
  4. updateGL();
  5. }
To copy to clipboard, switch view to plain text mode 

The same for all the OpenGL functions (glTexSubImage2D).

So there are three ways for me to do the rendering
- use an internal QTimer that call asyncronusly updateGL()
- call update() method in my DrawBuffer instead of updateGL()
- emit a signal in my DrawBuffer and connect to a slot with updateGL()

But the first method is asyncronous and I should save the buffer(memcpy), the second is much slow and the third doesn't provide a good timing and the video has strange slowings down.

So hoping this small research helps, I'd like to know your opinion about that and to tell my possible mistakes.

Thanks in advance