OK, so the Spring Equinox was officially yesterday according to here, but anyway, whether official or traditional it means that summer is now on the way, so with lots of sunshine, ice cream, warm days and pleasant feelings coming up, it's time for a DirectQ update.
(Of course this sucks if you live in the Southern Hemisphere, but you can't have everything.)
The next release should see a significant improvement in performance with scenes containing lots of liquid textures. I already had a sine wave lookup for the underwater warp, and I was able to reuse it for the standard water warp too (I've you've looked at recent source code you'll see that I had a note to do this). Because this is a 2D texture with a sine wave in both the red and green channels (blue and alpha contain something completely different) I'm able to get two sin calculations at the cost of one lookup, which is just perfect for water warps.
I've also moved a lot more calculations which were previously per-pixel to per-vertex, and calculations which were per-vertex to one-time-only. This involves no loss of quality; anything which can be linearly interpolated correctly is a candidate for such a move. A sine wave can't be linearly interpolated - at least at such a coarse level as per-vertex - which is one of the primary causes of GLQuake's crap water.
I've removed the clamping of the cvars associated with this, so you can create some really weird effects by playing with their values. They all begin with r_warp, by the way.
A few bugs came out in the last one which I'm also in the process of fixing.
I wonder what people think of the current rapid-fire release schedule? I'm quite happy to keep it up for the time being, but is it too often, not enough, or what? I wouldn't be comfortable with something as regular as nightly builds, one of the main reasons being that the engine is often completely broken at the end of a day, but once every week or two feels OK to me. It also means that I can respond to bugs a little more quickly.
Monday, March 21, 2011
DirectQ Update - 21st March 2011
Posted by
mhquake
at
6:40 PM
Subscribe to:
Post Comments (Atom)
4 comments:
Lots of frequent (once a week or so) updates is the way to go if you ask me..
Allows for more specific testing and bug fixing, and from the user point of view, it is nice to know the next update is never far away ;)
Trying the latest DirectQ update always feels like unwrapping a present to me :D
Without any automated tests I'm not sure how else you could promptly find regressions/bugs. As long as this doesn't turn into a perpetual "fixed some bugs, plus just one more new feature..." I think it's fine.
Of course, I'm assuming you are only putting in minor "safe" changes leading up to a final 1.8.7, and that it'll be a bit longer before 1.8.8/1.9 test builds are released...
Couple of times a month could be interesting. As could pushing to a public SVN (or at least, one that can be checked out without a password, and requiring one to commit). I don't think you need to go to the level that DP does, though.
"Couple of times a month could be interesting. As could pushing to a public SVN (or at least, one that can be checked out without a password, and requiring one to commit). I don't think you need to go to the level that DP does, though."
Well I have an SVN that I could easily make public; the main reason I haven't done so is precisely because I don't want to be flooded with reports that "the version on the SVN is broken". Of course it is - that's the way I work!
"Of course, I'm assuming you are only putting in minor "safe" changes leading up to a final 1.8.7, and that it'll be a bit longer before 1.8.8/1.9 test builds are released..."
I actually think I've gone a little beyond that point by now...
Post a Comment