I’m slowly but surely tracking down the problems with the Q3A renderer. I now have rendering output and I can recognise areas of the level, but it’s disjointed and there are still culling problems. I’m working on it.
A lot of the problems I’ve been having are to do with misunderstanding the level format, since documention for it is pretty ropey (because it’s not official), and I’m also totally transforming a number of the data structures rather than using them as is (to fit in with my more general BSP rendering infrastructure).
I’ve been poring over other people’s implementations of Q3A renderers, and all of them seem to be based to a large degree on the Aftershock source code, which was the first open source Q3A renderer (I think). Having these around is very handy to compare against, but because I chose not to just reimplement the Q3/Aftershock way of doing it there are translation problems I think. The hard part is working out which differences in approach may be causing the problems – a problem I wouldn’t have if I’d just copied the Aftershock approach, but never mind. It’s more educational this way. 😉