RMpipe
typedef struct RMpipe
{
Display *xdisplay;
XVisualInfo *xvisual;
Window xdrawable;
GLXContext glxcontext;
Colormap xcolormap;
RMenum channel_format;
int xwindow_width, xwindow_height;
int xflags;
RMenum opaque3DEnable, transparent3DEnable, opaque2DEnable;
RMenum initMatrixStack; /* RM_TRUE or RM_FALSE */
/* render function */
void (*channel_render_func)(RMnode *t, struct RMpipe *p);
/*
* optional app callback invoked after rendering, but before
* the "swapbuffers" call. can be used to perform synchronization
* between multiple rendering engines.
*/
void (*postRenderBarrierFunc)(struct RMpipe *p);
/* color and depth buffer acquisition, swap buffer function */
void (*postrenderfunc)(const RMimage *, RMenum whichBufferEnum);
void (*postrender_depthbufferfunc)(const RMimage *, RMenum whichBufferEnum);
void (*swapbuffunc)(struct RMpipe *);
char name[32]; /* temp hack */
/* the context cache */
RMcontextCache *cache;
} RMpipe;
librm library source file: rmx.h