Author: eilemann@gmail.com
State: Implemented in 0.5
Overview
PBuffers are off-screen rendering buffers. They are used to render using a GPU without displaying the rendering on a display, typically for source channels during decomposition.
The PBuffer support adds the possibility to configure the window's drawable type in the configuration file. The default is 'window', 'pbuffer' is used to configure a PBuffer and 'FBO' is for Frame-Buffer Objects.
API
class Window { AGLPbuffer getAGLPBuffer() const; HPBUFFERARB getWGLPBufferHandle() const; virtual void setAGLPBuffer( AGLPbuffer pbuffer ); virtual void setWGLPBufferHandle( HPBUFFERARB handle ); virtual bool configInitGLXPBuffer( XVisualInfo* visualInfo ); virtual bool configInitAGLPBuffer(); virtual bool configInitWGLPBuffer( HDC dc, int pixelFormat ); ... enum IAttribute { ... IATTR_HINT_DRAWABLE, ... }; }; enum IAttrValue { ... FBO = -11, ... PBUFFER = -7, WINDOW = -6, ... };
File Format
global { EQ_WINDOW_IATTR_HINT_DRAWABLE window | pbuffer | FBO } window { attributes { hint_drawable window | pbuffer | FBO } }
Open Issues
The current X11 version of Mac OS X uses GLX 1.2, and therefore does not support GLX PBuffers.