Wow, I had a really interesting mail today. Here’s how it starts: Subject: PLEASE READ this is not an advertisement or a joke! Ok, that alone earned you a few points on my spam filter’s scoring system. But, then it gets more interesting: Dear Steve, AKA sinbad, My name is [omitted in case name was stolen from elsewhere]. That name is actually an alias (mine I mean). I must use thise alias because of what I am about to tell you.

Read more →

Preprocessor macros are very useful for re-using the same shader source code in small variant ways. For example (snippet from my depth shadowmap code): #if PCF // use depths from prev, calculate diff depths += depthAdjust.xxxx; float final = (finalCenterDepth shadowUV.z) ? 1.0f : 0.0f; final += (depths.x shadowUV.z) ? 1.0f : 0.0f; final += (depths.y shadowUV.z) ? 1.0f : 0.0f; final += (depths.z shadowUV.z) ? 1.

Read more →

Just a quick follow-up, I mused in my earlier post today that the fact that D3D9 inexplicably gives you an integer format texture (D3DFMT_G16R16) when you ask for a 16-bit floating point texture (D3DFMT_R16F), was the root of my precision problems in depth shadowmapping, and indeed that was the case. I also found another contributing error (a slipup in the clipspace-to-texturespace matrix) but D3D’s odd behaviour had a significant influence.

Read more →

Ok, so I’ve finally managed to get back to doing more testing on the ‘integrated’ texture shadow techniques this week (formerly known as ‘custom sequence’ texture shadows but I thought that was an ambiguous term). For those who haven’t been following this, ‘integrated’ shadows in Ogre are those where the shadowing calculation is done directly in the primary material of the receiver, and not done as additional passes. The easiest way to use Ogre’s texture shadows (and the only way previously) is to use the non-integrated methods, which basically do one of two things - re-render the receivers in the scene with a modulative pass per light, or break apart your receiver materials into ambient, per-light and decal (albedo) render passes in order to build shadow-masked lighting up additively.

Read more →

Anyone seen the Lost Planet short trailer they’re showing on TV? Here’s the online version if not. Come on. I mean, come on. Now, I’m sure it’s great if you’re one of those people who smokes 50 a day and needs to make money doing voice overs in between cheap slasher films, but to start a AAA game trailer off this way demonstrates an almost fatal concentration of cheese. But that’s only the start.

Read more →

Darn, Damien has tagged me with one of those chain-blogging things that I can’t possibly ignore, save my online credibility be called into question. This one is dubbed ‘Five things you didn’t know about me’. Now, it’s of course really tempting to make stuff up. After all, if the whole point is that you didn’t know already, then given that you’re almost certainly halfway across the globe from me, and thus concrete verification is slim possibility, I can arguably get away with anything.

Read more →

Nintendo. Loaded.

I’m guessing that due to the cultural differences, Nintendo’s execs aren’t sitting back with a fat cigar and a glass of port, over-indulging themselves and generally generally enjoying how much goddam money they’ve managed to make last year, but you could understand it if they did. Sales figures for December 2006 are coming in, and my goodness did Nintendo rake it in. In terms of generating raw cash, everything seems to be in their favour.

Read more →

Well, the negotiations over the ogre3d.org server upgrade I mentioned a few weeks ago have reached a conclusion, and I eventually chose Dedipower. Given that all three of the UK providers I shortlisted had good reputations, it eventually came down to the nitty-gritty of the deal, and it certainly proved to be worth hanging on for a while and having several round-trips with all the parties bidding for the custom. In the end Dedipower made me the best offer, which will see ogre3d.

Read more →

Ok, so I’ve had a Wii for a week now (insert childish snigger here) and thought I’d post my initial impression. It’s difficult because due to the continuing extreme stock shortages, I’m still missing an extra controller and Zelda, but here’s my view on what I have, ie Wii Sports, Super Monkey Ball - Banana Blitz, and the online services so far. Firstly, it’s really quite incredible just how accurate and sensitive the controllers are.

Read more →

I’ve been going nuts on C++ for the last week so I took a break tonight to do a couple of things I’ve been meaning to do for ages. Firstly, to make our Pro Ogre 3D Programming book link in the sidebar of ogre3d.org country-sensistive, so that instead of only getting the link & price from Amazon.co.uk, it behaves differently depending on your country. Secondly, since people are always asking about books I recommend on 3D / C++, I’ve embedded a country-sensitive Amazon store in the Ogre site via a new Books link, containing the books I personally recommend most at the moment.

Read more →