ASUS GeForce GTX 980 Strix Review
ASUS GTX 980 Strix
Review
Gainward GeForce GTX 970 Phantom Review
Gainward GTX 970 Phantom
Review
MSI GeForce GTX 970 4GD5T OC Review
MSI GTX 970 4GD5T OC
Review
MSI Radeon R9 290X Gaming 4G Review
MSI R9 290X Gaming 4G
Review
FurMark, GPU stress test
FurMark 1.15.1
 
How to Rotate a Vertex by a Quaternion in GLSL
How to Rotate a Vertex
by a Quaternion in GLSL

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]