[quake3-bugzilla] [Bug 4358] Vertex Buffer Object (VBO) code available

bugzilla-daemon at icculus.org bugzilla-daemon at icculus.org
Wed Jan 5 07:50:01 EST 2011


http://bugzilla.icculus.org/show_bug.cgi?id=4358

use.less01 at gmail.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Attachment #2543|0                           |1
        is obsolete|                            |

--- Comment #21 from tinkah <arxeio at gmail.com> 2010-12-23 04:40:05 EST ---
(In reply to comment #18)
> the surface merging is slow, and adds a lot to load time.

That is at loading stage, before gameplay, correct? I wonder if it's easily
doable to spawn a thread for them, while leaving the main thread for other
processing during loading stage.

SDL has threading, mutexing and semaphores without requiring extra libraries so
one wouldn't even need to include pthreads or another multiplatform solution.

(OpenMP could theoretically be used on the individual functions involved but I
suspect it would be slowed down by variable protections it may need to the
point of making it pointless, but that's still speculation, at least for your
code.)

--- Comment #22 from use.less01 at gmail.com 2011-01-05 07:49:49 EST ---
Created an attachment (id=2551)
 --> (http://bugzilla.icculus.org/attachment.cgi?id=2551)
Version 10 of VBO and GLSL code from xreal, w/ changes

Version 10.

This one handles TMOD_TURBULENT, sort of.  It's a bit of a hack.  I hid the
values needed for calculating it into the texture matrix, and extract and
calculate in the vertex program.  Due to this, it's not a perfect recreation of
the way quake3 does it, but it's pretty much the same as long as the turbulent
pass was the last texture mod in the shader.

Additionally, I tweaked the surface merging again, and it's fast enough to do
tvy-bench in 0.05 seconds on my system now.  YMMV.

As well, I pushed shaders with multiple vertex deforms back on the CPU, slowing
them somewhat but making those all render correctly again.

Now that everything is supported though, it's somewhat slower than the peak
performance I got with version 8.  tvy-bench is around 120fps with the timedemo
I made before.  The easiest way to get the speed back up would be to remove or
re-implement differently the various features, specifically the mark surfaces,
the dlights, and the fog.

So the only things left really are bug-fixing, cleanup/documentation, and maybe
some more optimization if I can think of anything else to optimize.

-- 
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