With few modifications to the api, this patch add
support for framebuffer object (fbo)
In brief, framebuffer object is a way to render to a
texture which not rely on windowing api, so it must be
portable. Since it permits to render directly to
texture, no copy is involved, so it should be more
efficient than classic rtt or ctt.
Fbo is provided by latest nvidia drivers (linux,
windows, freebsd, etc etc)
and should be soon supported on ati, at least for windows.
With fbo, we don™t create another wgl or glx context,
so we cannot initialise render texture buffer and
screen buffer with different attributes like we do with
ctt or rtt, so we have to change the attributes at each
beginCapture and endCapture, so I had to add two
methods to initially register the render attribute :
recordCaptureState () and endRecordCaptureState ().
In ctt or rtt mode, theses methods just call
beginCapture an endCapture, but in fbo mode they
register the openGl calls to a display list which is
called at each beginCapture.
The example has been modified to use new api.
Theses patches also include woody3 patch (which
included floriankirch ones).