Dirk Scheffter (scheff++at++ue.iff.fhg.de)
Fri, 17 Sep 1999 00:28:44 -0600
I tried to mix Performer and OpenGL in one app.
That means: a main window contains a glwMDrawingAreaWidget which is filled
using Performer and some others which are filled using OpenGL directly to
display some 2D graphs in extra windows.
First problem was that other users reported to me that Performer output
appeared in these widgets instead of the desired 2D graphs.
Until then I never had seen this on my systems. Thinking about this let me
assume the following: The other users used single proc. and me allways multi
proc. *grin* Switching my app to single proc. produced the same result on my
systems.
Thus, I assumed that Performer doesn't make current its own GL context because
normally it doesn't change. (I guess - to save time.)
Thus, I placed a GLwDrawingAreaMakeCurrent() at the beginning of channel draw
callbacks. Now the result was fine in single proc. but in multi proc. I got a
mystical SigChild before the first frame.
Debugging and wondering a certain time I concluded that the first arg. of
GLwDrawingAreaMakeCurrent() - the Widget) is not available in draw process
because this widget is created in APP process and the internal contents of it
is usually not stored in Performers shared memory arena.
Replacing GLwDrawingAreaMakeCurrent() with glXMakeCurrent() (whereby I
requested all parameters from Performer) solved this. :-) :-) :-)
Any hints or comments?
Greetings,
Dirk.
-- ----------------------------------------------------------- Dipl.-Inf. Dirk Scheffter scheff++at++iff.fhg.de Fraunhofer IFF fon: +49 (0) 391/40 90-854 Sandtorstr. 22 fax: +49 (0) 391/40 90-870 D-39106 Magdeburg http://wwwue.iff.fhg.de/~scheff Germany ----------< Try this: http://wwwue.iff.fhg.de/ibft/mowib >-
This archive was generated by hypermail 2.0b2 on Thu Sep 16 1999 - 15:29:25 PDT