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

bugzilla-daemon at icculus.org bugzilla-daemon at icculus.org
Mon Dec 6 08:08:03 EST 2010


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

use.less01 at gmail.com changed:

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

--- Comment #13 from use.less01 at gmail.com 2010-12-06 08:07:42 EST ---
Created an attachment (id=2511)
 --> (http://bugzilla.icculus.org/attachment.cgi?id=2511)
VBO and GLSL code from xreal, w/ changes & occlusion code

I've strayed a bit from the aim of the original patch, and added in a couple of
features.  They really don't belong here, though, so I'll try to separate them
out into their own patches later.

First, I implemented what I call lazy frustums.  Basically, the BSP tree isn't
traversed unless the current view frustum is partially outside the culling
frustum used during the last BSP traversal.  This is activated by a cvar,
r_lazyFrustums.  A setting of 1 enables the default, which performs no worse
than before.  A setting of 2 expands the fov of the culling frustum slightly,
resulting in more overdraw, but fewer BSP traversals since the changing view
frustum fits better in the reused culling frustum.

Second, I implemented very simple occlusion culling.  It isn't coherent, and it
isn't hierarchical, but it culls. :) Whenever the above code traverses the
tree, the occlusion code draws an invisible white cube around every vis'd leaf,
querying the number of samples drawn for each leaf.  After that, it polls every
frame to check for results, and culls out leaves which had zero samples drawn.

The problems with this version of occlusion culling are that it's expensive
whenever it's used, causing a noticeable drop in framerate, and it often culls
too much, resulting in visual errors.  For now, the cvar r_arb_occlusion_query
defaults to 0.

There are also some fixes to the VBO and GLSL code in there as well, such as
fixing the texture coordinate calculations in the shaders and fixing bugs where
some unvis'd maps did not render, and doors opened into nodraw.

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