GL-Z: OpenGL Information Utility for Windows, Linux and OS X
GL-Z 0.1.0
 
GLSL 4×4 Matrix Fields
GLSL 4×4 Matrix Fields
 
FurMark, GPU stress test
FurMark 1.15.0
 
GPU Caps Viewer
GPU Caps Viewer 1.22.0
 
GLSL Hacker - Pixel hacking with GLSL, Lua and Python on Windows, Linux and Mac OS X
GLSL Hacker 0.8.0
Win/Linux/OSX
OpenGL Geometry Instancing Test: Radeon vs GeForce
BenQ BL3200PT 32-inch
QHD Monitor

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]