Menu

#3 add framebuffer object support

open
nobody
None
5
2005-07-06
2005-07-06
alex31
No

With few modifications to the api, this patch add
support for framebuffer object (fbo)
(http://oss.sgi.com/projects/ogl-sample/registry/EXT/framebuffer_object.txt)
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).

Discussion

  • alex31

    alex31 - 2005-07-11

    Logged In: YES
    user_id=1308366

    Windows users have reported bugs with my patches, since i
    develop on Linux, I couldn't trap the compilation and
    execution bugs which where between #ifdef WIN32.

    Theses bugs have been fixed and this version runs on Linux
    and Windows.

     
  • alex31

    alex31 - 2005-07-11
     

Log in to post a comment.