[quake3-bugzilla] [Bug 3422] ioq3 framebuffer object support

bugzilla-daemon at icculus.org bugzilla-daemon at icculus.org
Mon Nov 16 19:08:52 EST 2009


Tim Angus <tim at ngus.net> changed:

           What    |Removed                     |Added
             Status|NEW                         |RESOLVED
                 CC|                            |tim at ngus.net
         Resolution|                            |WONTFIX

Guillaume Bougard <bougard.g at gmail.com> changed:

           What    |Removed                     |Added
   Attachment #1600|0                           |1
        is obsolete|                            |

--- Comment #13 from Tim Angus <tim at ngus.net> 2009-09-14 07:01:55 EDT ---
Not appropriate for ioq3.

--- Comment #14 from Guillaume Bougard <bougard.g at gmail.com> 2009-11-16 19:08:40 EST ---
Created an attachment (id=2201)
 --> (http://bugzilla.icculus.org/attachment.cgi?id=2201)
Enhanced fbuffer-refactor fix

Thank you Gord Allott for this work.

Okay I know, this feature won't be included in ioquake3, but I really wanted it
for our ioQuake3 based Smokin'Guns engine. So I took it and tried to enhanced
it as much as I could.

Firstly I upgraded the patch to last rev1752. Then I found and tried to fix few
issues. I fixed few crash cases, and few black screen cases. I changed some API
so it re-uses better ioQuake3 API, like the ones to malloc and free memory, and
also the one to check existing OpenGL extension. I added few error reporting
thanks to OpenGL wiki. I also tried to include multisample support (re-using
r_ext_multisample cvar) but this part doesn't work for some reasons I don't
know (I'm really not an OpenGL programmer, so maybe Gord Allott or anyother
people may try to fix that part).

Last but not least, I didn't really like how the patch was applying effect also
on the UI part. So I fixed also this part and I think every cases are covered
(okay I didn't have time to check every possible cases, but cinematics, main
UI, ingame UI and portal view (here with effect applied) seems working
perfectly as expected.

Finally, I implemented the patch with a FRAMEBUFFER_AND_GLSL_SUPPORT define and
I adapted the Makefile to support that. So to try it, just export ioQ3 r1752,
apply the patch, and build it with "make FRAMEBUFFER_AND_GLSL_SUPPORT=1" or add
"FRAMEBUFFER_AND_GLSL_SUPPORT = 1" in your Makefile.local file and build it as

I currently only tested the binary on my linux x84_64 system (Fedora 11) with a
Nvidia 9400 video card. I still obtain easily 100 FPS.

Also I put a video on youtube, thanks to ioquake3 video command ;). Check it at
http://www.youtube.com/watch?v=F9zMo9-zchQ. I used the "four" quake3 demo with
different settings. Even the one with rotoscope based on z-edge, with bloom
effect and in greyscale looks pretty ;)

And to conclude, if this patch is not suitable for ioQuake3, you may want to
put it on http://ioquake3.org/extras/patches/ page.

Configure bugmail: http://bugzilla.icculus.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.

More information about the quake3-bugzilla mailing list