[quake3-bugzilla] [Bug 5160] New: Yet another reworked renderer
bugzilla-daemon at icculus.org
bugzilla-daemon at icculus.org
Sat Aug 6 06:04:21 EDT 2011
https://bugzilla.icculus.org/show_bug.cgi?id=5160
Summary: Yet another reworked renderer
Product: ioquake3
Version: SVN HEAD
Platform: PC
OS/Version: Linux
Status: NEW
Severity: enhancement
Priority: P3
Component: Video
AssignedTo: zakk at icculus.org
ReportedBy: matthias.bentrup at googlemail.com
QAContact: quake3-bugzilla at icculus.org
I have been working on an updated renderer for tremulous/ioquake3 for some
time.
My primary focus hasn't been on graphical enhancements, but on compatibility
and speed.
The renderer uses only OpenGL 1.1 plus extensions, if any extension is missing
it falls back to a (possibly slower) render path. /r_showtris 1 shows how the
triangles are rendered, blue: GLSL + VBO, green: only GLSL, yellow: only VBO,
red: old GLSL.
At the heart of the patch is a Quake shader to GLSL translator which generates
a GLSL program that can render any multi-stage Quake shader in a single pass.
The shader syntax has deliberately not been changed.
MD3 models can be fully animated on the GPU (requires vertex-texture-fetch and
floating point textures).
The static vertex data is uploaded in buffer objects and the backend tries to
avoid buffer switching as far as possible. Generally the renderer tries to use
a minimum of GL state changes and draw calls, often the GL calls needed for a
batch are just glBindTexture and glDrawElements - no pointer setting, buffer
switching or vertex data upload.
My patch definitely has less graphical features than #4358, but I think I have
spent more time optimizing the backend.
--
Configure bugmail: https://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