[PD-dev] [GEM] rendering context (gem2pdp)

Daniel Heckenberg daniel at bogusfront.org
Wed Mar 5 07:02:29 CET 2003


hi tom, list,

On 5/3/03 4:43 PM, "Tom Schouten" <doelie at zzz.kotnet.org> wrote:
> i was wondering if it is possible (and how) to change the rendering context
> in gem, with respect to interfacing it to pdp (or something else) without gem
> using it's own display window.
> 
> what i am interested in is having gem render to an offscreen area (pbuffer)
> and output this as a pdp packet.

Multiple rendering contexts and pbuffer support would be very handy features
in GEM.  This has been on the to-do list for a long time, I think, so
perhaps the momentum of the pdp project can make it happen!

> it is possible to use pbuffers and disable the window context entirely, but
> it seems it requires rather a large cut in gem. maybe i'm not seeing this
> correctly but i think it would involve something like this:
> 
> 
> * GemWinCreateXWin needs to be replaced by something that constructs a
> pbuffer instead of a window.
> 
> * the place where the buffers are swapped: glutSwapBuffers() in GemMan.cpp
> a glReadPixels should be inserted that converts the data in the pbuffer to a
> pdp packet.
> 
> * the glXMakeCurrent(constInfo.dpy, constInfo.win, constInfo.context) in
> GemMan.cpp should be replaced by a glXMakeContextCurrent(dpy, pbuffer,
> pbuffer, context_pbuffer) call.

Should we try to get a system that can easily get a pbuffer back into a pix_
object and then just use the pdp<->gem bridge?

How about this:  
- you can name a rendering context in each gemhead and have that rendering
chain render to the context (be it a window, pbuffer or whatever).

-Each gemwin can also be named.

-A new gembuffer object which manages pbuffer rendering and takes a name
argument also...?.  It outputs a bitmap in pix_ compatible form that may be
connected to pix_ object or the pdp bridge.

Daniel








More information about the Pd-dev mailing list