I could easily spend between now and the time when Romero is asked to rejoin ID polishing it further, but this thing would never get released and I'm sick to death of that particular code right now. There are still 3 intermediate buffers in use between the time when R_RecursiveWorldNode spits out the surf and the time when the surf is drawn, but this is all required to make the eventual render light years more efficient.
The first two of these are fairly lightweight, just building up lists of pointers and letting things fall out into the correct order for rendering; the third is something of a monster and takes copies of all of the verts in all of the visible surfaces for actually rendering from. I could probably get rid of it, but doing so would require reworking the surface loader and maybe a few other things. In terms of speed and space efficiency it's not actually that bad (and the gains from rendering outweigh the losses from buffering) but I'd still like to get rid of the copy operation. If Direct3D let me do interleaved indexed vertex arrays without requiring a hardware VBO I would do it right now, but the cost of locking/filling/unlocking a hardware VBO each frame is far too high, even for just an index buffer.
It'll do for now.
Currently on the "done" or "almost done but just needs a light coat of polish" list are:
- Sky.
- World Surfaces.
- Brush Model Surfaces.
- Alias Models.
- Particles.
- Underwater Warp.
- Water/Slime/Lava/Teleport Surfaces.
- Alpha Models and Surfaces.
- Sprites.
There's also the ongoing process of building back up the DirectQ 1.7 feature set, bugfixing, tweaks to other parts of the code, and so on.
I can't quite say that the end is in sight just yet, but I'm definitely sensing it over the horizon. It is however safe to say that this has been the most intense release I've ever worked on, and when I get it out I think I'm going to collapse for a month.
1 comments:
Although I DO love reading all these update posts, I rather not see you collapse.. take your well deserved breaks! After all, quake has been around for 13 years, so whats a few more days/weeks/months ;)
Having said that, I can't wait to see 1.8 in action :D
Post a Comment