Bugs mercilessly crushed underfoot!

· by Steve · Read in about 2 min · (333 Words)

It’s been a good couple of days 😀

temas indeed did fix the GL modulative shadows issue. And I woke up this morning with one of those ‘perfect clarity’ moments, where I just knew what the cause of the remaining 2 GL shadow bugs were. REM sleep, I owe you one. The tough part was going through the whole day at work knowing what it was, but not being able to test it until I got home. Luckily I caught temas on IRC and he tried it, and it worked! GL is now fully functional in both modulative and additive shadow types. Woohoo!

I also found the problem with the normal mapping + shadows; it was really dumb - I spent ages looking through all my new code, only to realise that I’d forgotten to tell the mesh to prepare tangent / binormal data for itself. Aaargh! It worked perfectly after that, as you can see. One good thing to come out of it is that during my review I spotted a couple of other bugs, albeit very minor ones. Like depth-fighting on the lightcap when using vertex programs - I’d already solved that for hardware skinning but of course the same problem happens more generally when using vertex programs so that needed a little tweaking.

The other good news is that wolfman8k, author of DIE, is using the new shadow code and has not only proven that the edge builder works on pretty complex meshes from Blender, but also that modulative shadows are very easy to integrate with world geometry. Nice!

I’m feeling quite uplifted and positive by these recent events - it always happens with new featuresets, you work hard to get them in, get flooded with lots of little glitches (especially when taking into account different cards and APIs) and it all gets a bit depressing, but when it all shakes out, it’s worth it.

To quote a famous cigar-chewing philosopher: “I love it when a plan comes together.” 😀