I've been playing at writing a small Quake III BSP map rendering engine using PyOpenGL (and OpenGLContext, for now) when I get the bug to do 3D.
Today I added basic texture rendering for "simple" surfaces (non bezier spline patches). With that you can wander around (unzipped) maps and tell what's going on, but nothing looks pretty, as there's still lots of z-fighting (that seems to be due to the Quake III editors, I gather the engine has z-offset or the like being used to reduce it) and the lightmaps are not rendered at all.
Speed is good. It takes about .8s to load and render the first frame (including all textures I can load, but 30 are missing) of a random map I grabbed, but there's lots more to add in terms of basic rendering (lightmaps, real lighting, and sky cubes will likely slow us down). Still, the current code is rendering at around 200fps (and is not at all optimized), so I don't expect speed to be a problem; Quake III is, after all, a very old game.
What's the point of it all? Nothing really, just felt like writing something using OpenGL again and I used to love playing Quake III, so there.
Pingbacks are closed.