Friday, September 10, 2010

Quake 3 qgl API

I'm sure having the qgl API made sense at some point in time (GL 1.x) however now it's just a pain for doing any kind of porting. The qgl API is a set of function pointers which are initialized by the renderer to point to the real gl API functions (or logging wrappers.) e.g. glClear() becomes qglClear()

I think the original reason for this was logging GL calls (a valid reason, at the time) and handling extensions. IMHO logging could be implemented easier using a GL tracing library (there are a few; Google) and GREMEDY_string_marker for renderer specific messages (begin of function foobar(), etc.)

Actually this is what Robert is doing for XreaL-ET branch, however it's not on the mainline branch yet. I think I'll cherry pick these changes over before doing more work on GLES2 for XreaL. Otherwise the qgl API is going to turn GLES2 support into a massive ifdef mess...

I am quite interested to see what kind of performance SGX can get out of a real VBO optimized renderer.

Sunday, September 5, 2010

Me, travel, and fail

It seems I'm rather prone to running into some kind of fail during my travels. Previously the Icelandic Volcanic ash Cloud, and now a rather strong earthquake has hit Christchurch several days before my flight there.