I’ve used FlashGet for a while as my download manager, and because it’s not the kind of tool I’d consider being worth spending any money on, I’ve used the Adware version. Now, FlashGet is a great tool, but the ads they choose to serve, are well, a disgrace. Full of pop-ups that insist on opening an IE window (even though my default browser is Firefox), which I just can’t stand for.
I’ve been slowly but surely clearing things from my TODO list. I’ve enhanced the support for custom parameters on Renderable and made the mapping of those parameters to shaders scriptable and easier to use. The result is that you don’t have to define so many material variations, you can use a single one which delegates the setting of shader parameters to the Renderable. You can also override this in custom Renderables if you like to do even more sophisticated things.
Ah, finally got it working. The diagnosis was complicated by the fact that I thought GL wasn’t working, but in fact it was - it’s just the issue with the slightly faulty projection made it look like it wasn’t. The D3D9 problem was that I forgot I had to compensate for the fact that Ogre uses right-handed coordinates, instead of the left-handed ones used by D3D normally. Once I knew it was just D3D this didn’t take too long to work out!
I don’t often comment on news and current events in my blog - I think there’s enough of that elsewhere on the web - but in this case I make an exception, simply because of the extreme reaction it has evoked within me. I’m talking about the recent verdict in the Kodak vs Sun case, of course, in which Kodak has somehow managed to convince a court that they own the ‘invention’ of letting software components communicate in order to ask each other for ‘help’.
Well, I have my reflection enhancements done, so reflections using dynamic planes attached to SceneNodes works nicely now. Oblique depth projection is SO nearly working - right now it’s clipping perfectly in all cases except where the camera pitches relative to the plane; I’m not sure why that is right now. I’ve been over my calculations multiple times and they all look fine, but clearly I’ve made a mistake somewhere.
I know people are generally interested in what I’m working on, so here’s an update. I recently completed an upgrade to the OGRE .mesh file format (the binary version, the XML has not changed). This allows more flexible vertex declarations and buffer layouts, as supported internally by the engine for a while, but the binary mesh format was more simplistic previously. It also allows you to precalculate edge lists (for stencil shadows) and tangent buffers (for normal maps), which saves you a bit of load time.
I’m back, again, this time from a 2-week break in Canada, which I have to say was awesome. The Rockies rank among my favorite places in the world - enormous open spaces, magnificent scenery that just makes you gawp - I could have stayed another 2 weeks, although after all the hiking and (especially) the horse riding I was certainly quite sore! It was great to get away from all the stresses of the modern world for a while, no deadlines, no rush, and yes, no computer or TV.
I’m back, and it was fun - although more fragmented than previous years apparantly since there was another conference in the Docklands this year running at the same time. Got to see quite a few games, chat to lots of people, flash an OGRE T-Shirt around all day (which got recognised a few times) and exchange business cards. Argonaut sent the largest team by far, but there were people from loads of other UK and European dev companies there.
Good news - nVidia have confirmed that the issue I’ve reported in the 61.77 drivers is fixed in the next (unreleased) revision, so I can stop worrying about that it seems. Phew! Secondly, as you can see from the Ogre website, we now support GLSL as well as all the other shader formats we’ve supported since 0.13. You want shaders, sir? We got em, in every shape, size and colour, so we ‘ave.
Isn’t it great how everything never goes to plan? I’m reminded of that cigar-chewing philosopher, Hannibal from the A-Team, and wonder how the hell it is that his plans always ‘come together’ despite them being utterly implausible. Smug git. 😀 My current problem is the nVidia 61.77 drivers, which have introduced an extremely annoying problem in D3D9 - when rendering geometry with more than about 4000 faces, significant flickering can be observed in the final ¼ of the triangles, as if these triangles are not being drawn every frame.