Python Primer for the Impatient
Python Primer
for the Impatient
Lua Primer for the Impatient
Lua Primer
for the Impatient
OpenGL interpolation qualifiers (GLSL)
OpenGL interpolation
qualifiers (GLSL)
GLSL Hacker - Pixel hacking with GLSL, Lua and Python under Windows, Linux and Mac OSX
GLSL Hacker 0.5.0
 
OpenGL 4 Tessellation on Mac OS X
OpenGL 4 Tessellation
on Mac OS X
GpuTest 0.4.0 - Cross Platform OpenGL Benchmark for Windows, OS X and Linux
GpuTest 0.4.0 for Windows
Mac OS X and Linux

Posts Tagged ‘quake 2’


Modernizing the Quake2 renderer

Be the first to comment - What do you think?  Posted by JeGX - 2008/06/25 at 10:06

Categories: 3D Engines, OpenGL, Programming   Tags: , , , , ,

Jay Dolan recently blogged about some of the performance optimizations he made to his Quake2-based engine, Quake2World. He provides links to various points in the source code to give context around some of the topics he discusses.

Read the post HERE.

Quake2 was released in 1997. Hardware acceleration was only available on higher-end PC’s, and things like multitexture and vertex arrays which are commonplace today didn’t even exist then. So naturally, Quake2′s rendering techniques appear very dated in 2008. Multitexture was made a part of the OpenGL specification in version 1.2.1, and is available on most 2nd generation hardware (TNT or newer). I strongly recommend cleaning up the renderer and removing any non-multitexture rendering paths.

Texture binds (glBindTexture) are rather expensive too, and so to minimize these per frame, you should group the world surfaces by texture before iterating over them. Note that a simple grouping operation is significantly cheaper than a qsort — overall order is not important, we just want to minimize texture changes.

[via]