Yesterday was our wedding anniversary, and on the whole it was a very nice day. We both had the day off, chilled quite a bit in the morning, and went out for lunch to a place on one of the many quays / piers in St Peter Port (my home town) called SaltWater - it’s a little pricey but the food is always very good and it has a nice atmos, and hey, an anniversary is as good a reason as any to treat ourselves.
OGRE 1.2.0RC2 will be a few more days, Jeff’s been working hard on the new material script compiler and it really should be a part of what should be the final RC. It uses the same script compiler framework as the compositor scripts use, giving you more flexibility than the existing line-based script parser. Today I fixed a couple of small bugs, but spent most of the time doing some RL (real life) things like pressure cleaning the patio.
Well, I resolved the issues with the HDR compositor and added a slightly nicer scene for it to be displayed in. I sped things up a bit by dropping down to 16-bit floating point targets, and I discovered that FBO (or at least my implementation of it) doesn’t really like the single-channel luminance floating point texture, so I switched to a full RGB texture instead. The final problem was pointed out by nfz - I just hadn’t bound the samplers properly in the material script for GLSL, something I didn’t realise you had to do, but I should have read the manual.
Well, I finished the first pass of the HDR compositor - I wrote it in Cg to begin with, but in the end I converted it to HLSL and GLSL because I found a very annoying trait of the Cg compiler is to burn up temporary registers way too fast. For example, when performing the ‘bloom’ passes, I switched to a 15-sample gaussian blur, and found that the Cg compiler decided to try to offset all the samples into temporary registers first, before doing all the texture lookups.
After wrestling with some annoying Cg problems yesterday, it occurred to me that trying to figure out where problems exist in my HDR compositor sequence was going to be a total pain the arse, since the final result is many, many render-to-textures (RTTs) later. For that reason I decided to spend a good portion of this evening adding a RTT debug view to the compositor demo. It’s already proved to be very handy, since I’d made an error in one of the early stage shaders which would have been difficult to track down without examining each step of the sequence.
It’s been rumoured for a couple of weeks, now it’s official - MGS owns Lionhead. Now of course in business terms this is a pretty darn sensible move - next-gen games are damn expensive, Lionhead already had close ties with Microsoft, and who better to have at your back than a company with the brass gonads to burn through no less than a billion dollars every year of shareholder’s money on the dream of being a player in the console business?
No more shirking, developer CVS is back. 😀I’ve committed my skeleton HDR compositor, still lots of blanks to fill in but the script is there, as are the main components of the shaders. More work on that tomorrow, I was investigating XSI issues today. On another note, I got my C14/BS1363 adapters today, which was a surprise. Being a tight git, I’d picked the free super-saver delivery from Amazon since I wasn’t in any real rush, so it’s supposed to take 2-5 days more than regular delivery.
For the first time in recent memory (barring holidays away), I didn’t write a single line of code this weekend. That’s not to say I didn’t use the computer - I set up the UPS, configured the Linux server for 24×7 running and such - but except for a few posts in the forum I didn’t touch OGRE at all. I actually feel quite guilty. Marie was happy though, she’s always saying I work too much.
Someone posted in the OGRE Forums recently to inform us that the French version of Computer Arts featured OGRE on their cover DVD this month. If you squint a little, you can see our logo on the front of the DVD there. They went to town, distributing pretty much everything including the demos, the SDKs, the precompiled tools and exporters and also some of the addons we make available in binary form (like the Particle Editor, RenderMonkey exporter and CEGui Mesh Viewer).
Following the damage done by a power fluctuation recently, I’ve invested in a proper UPS for the home network, and I’m very pleased with it. I purchased a little more than I strictly needed since estimating the power usage of the devices I want to connect to it wasn’t an exact science, and it never hurts to have a little breathing room. Besides, the RS 1000 range is slim and tall rather than short and fat, which is more convenient for me space-wise.