I just finished integrating some new texture shadow projection types into Eihort. New this time are Uniform Focused and LiSPSM shadow projections, adapted from LordSteiner’s great patch. Most of the work was done early last week in fact, but I’ve been doing some refinement to make sure it was really ready for wider adoption. I changed the interfaces around a bit and made them a bit more configurable from the outside, and I also attacked some performance issues - I had also found that these two techniques were performing considerably worse than uniform and plane optimal shadows initially, more so than I would have expected.
As anyone who runs an online community knows, spammers are getting more and more sphisticated at spamming forum systems. Seems that ruining our email enjoyment isn’t enough for these people, they have to try to peddle their cheap watches, drugs, porn and instant diplomas on our forums too. At one time, just disabling anonymous posting and requiring email activation was enough to get rid of most of them, but now they of course automate the process using fly-by-night free email accounts - the current favorite is web.
Ok, so now you finally get to see what I’ve been working on during the last few weeks and being so obtuse about. I’ve been working for Windward Mark Interactive to create a brand new, totally volumetric cloud system called Nimble. Here are some shots for you (click for full size versions): Clearly there have been cloud systems before, so what’s special about Nimble? Well, for a start it’s completely volumetric - it’s not a prerendered skybox or 2.
nfz brought to our attention in the OGRE forums a really interesting analysis of the OGRE codebase, much more detailed than the one on Koders that I mentioned earlier in the week. Looks like they’ve been gathering stats on the project since 2002, which is really cool to look back on. It’s interesting to see the timeline of developer involvement too. I’ve aparrently put 4.3 man years into the project so far 😀You know, I probably can’t argue with that - it might be a little high but if I average my hours over the 5-6 years, it’s probably close.
Wow, I’m feeling really mentally tired this evening. I’ve been troubleshooting a number of spatial transforms and lighting calculations the last few days and my head is still buzzing. I’m pretty spatially aware, but for some reason when I try to visualise some (particularly non-affine) combination transforms which include things like handedness switches and axis inversions I start to overheat. I spent almost 3 hours this morning trying to diagnose why a worldspace to volume image space to realigned volume image space transform blows up with certain combinations of settings, and although I eliminated quite a few things and clarified the precise situation in which it occurred, I don’t feel much closer to explaining it yet.
I happened to be looking at Koders.com today and stumbled across the project summary page for OGRE, which has some really interesting stats. Particularly eyebrow-raising was the estimated development cost based on KLOC metrics - not a super-accurate estimating tool by any means but it’s the kind of metric many people use to estimate cost in the absence of anything else. Based on that, everything that’s in the OGRE CVS repository would have taken 683 man-months and cost 3.
Well, I’m feeling quite a bit better about the progress I’m making this week on work projects. I had a breakthrough on Monday morning which helped to start the week off well, and since then I’ve been happy at having visible progress each day. I can’t show you what I’m working on unfortunately because it’s for another company - perhaps after they’ve gone public I’ll be allowed to link some screens.
It’s been one of those weeks where every task seems to have taken longer than it should. When I look back at the week, I can see there has been some progress and I’ve certainly been chipping away at quite a lot of things, including general OGRE issues, a few Eihort tests & fixes, the contract project I’m on, and I even did a morning with my ex-employers since they needed a little urgent help.
I kept meaning to spend some time doing more testing of the new texture shadow rendering techniques I added a week or so back, so took a little time yesterday and this morning to do that. But. as part of it I started implementing a more generic lighting shader so I could integrate a number of techniques. Our example shaders for normal and offset mapping deal with point and directional lights, but not spotlights, so I decided to add that in as well as dealing with several lights & their shadows in a single pass.
I’ve broken my new working rules again (since it’s the weekend) and spent most of today doing some last-minute bugfixing / patch reviewing ready for the next Dagon maintenance release tomorrow. It’s been our usual 6 weeks or so and quite a few things have built up so it’s definitely time to get them out the door. Most of today was tracking down an elusive XSI exporter issue when combining skeletal and pose animation and overlapping animation clips in the mixer - a tricky one that but it’s ok now.