RE: [info-performer] Performer & GLX Drawing Area Widget

New Message Reply Date view Thread view Subject view Author view

From: Buckley, Bob, CTR (Bob.Buckley-contractor++at++jntf.osd.mil)
Date: 02/06/2003 16:49:49


Well, it looks like I'm trampling over Performer's context pretty good.
Bottom line is that I failed to save and restore the display, window, and
context any time I made a glMakeCurrent call.
I got bit by not doing so in the ginit callback! Hence, it destroyed the
context and didn't restore it.

So, my next question goes back to some valuable advice Sharon Fischler gave
me a few years ago.
In order to save and restore the context I have to call
glXGetCurrentDisplay, glXGetCurrentDrawable, and glXGetCurrentContext.
Sharon told me to not make glGet* calls. I believe she said that glGet*
calls flush the pipe.
Is this also true with glXGet* calls? If so, how do I retrieve and restore
the context properly?

Thanks
Bob Buckley
"Snowy" Colorado Springs

> -----Original Message-----
> From: Buckley, Bob, CTR
> Sent: Tuesday, January 28, 2003 2:48 PM
> To: Performer List (E-mail)
> Subject: RE: [info-performer] Performer & GLX Drawing Area Widget
>
>
> The performer window projection matrix is being changed from perspective
> to
> ortho on the 3rd frame (I'm running APPCULLDRAW). I suspect the stats
> ortho
> projection is getting reloaded when I rebind the context so I commented
> out
> drawing stats. The Performer window now comes up properly for two frames.
> On
> the 1st frame the object and viewpoint are properly at the origin. On the
> 2nd frame the viewpoint is properly moved so I can see the object. On the
> 3rd frame lighting is disabled and the viewpoint doesn't move. My object
> has
> an animation in it and I can see that animation advance smoothly. However,
> the viewpoint never changes when it should be orbiting the object. Can
> someone on the Performer team tell me what's going on under the hood and
> how
> to make it work?
>
> Thanks
> Bob Buckley
>
> > -----Original Message-----
> > From: Buckley, Bob, CTR
> > Sent: Monday, January 27, 2003 3:41 PM
> > To: Performer List (E-mail)
> > Subject: [info-performer] Performer & GLX Drawing Area Widget
> >
> >
> > I've been trying to render a simple GLX drawing area widget within it's
> > own
> > window and a Performer channel within it's own window all atop the X
> > Windows
> > framework. I believe I'm having problems with context switches. The
> widget
> > renders properly but the Performer channel renders properly for about a
> > frame or two, then goes black. I've researched the archives and believe
> I
> > am
> > playing by the rules. Can someone take a look at this very simple test
> > case
> > to see if I'm missing something real simple? The test case is like the
> > programming guide examples in that it takes one database file (via
> > pfdLoadFile) as a parameter and rotates the viewpoint around it based on
> > it's bounfing volume.
> >
> > Thanks
> > Bob Buckley
> > Raytheon Systems
> > Colorado Springs
> >
> > << File: makefile >> << File: test.C >>
>
> -----------------------------------------------------------------------
> List Archives, Info, FAQ: http://www.sgi.com/software/performer/
> Open Development Project: http://oss.sgi.com/projects/performer/
> Submissions: info-performer++at++sgi.com
> Admin. requests: info-performer-request++at++sgi.com
> -----------------------------------------------------------------------


New Message Reply Date view Thread view Subject view Author view

This archive was generated by hypermail 2b29 : Thu Feb 06 2003 - 16:49:09 PST

This message has been cleansed for anti-spam protection. Replace '++at++' in any mail addresses with the '@' symbol.