This is the kind of thing that gets me up in the morning. This is a new interactive exhibit at the Australian Museum in Sydney called 'Dangerous Australians'; it's a 6-metre long table with motion tracking cameras, allowing people to interact with 10 of Australia's most dangerous creatures. It looks great, and I'm glad to say it's running on Ogre (among other things). The table is in fact driven by 4 Macs, each with a projector and camera setup.
I consider LinkedIn to be one of the few genuinely useful things to come out of the whole Web 2.0 gold rush, since it’s a business-oriented, generally ‘fluffless’ site (if I see one more virtual gift or stupid time-wasting Facebook application, I’ll lose all will to live) - as such I actually do use it fairly regularly. I finally got around to creating an OGRE Group - feel free to join if you’re a professional OGRE user / contributor.
I’ve been having a bit of a crappy week, with a particular project taking way longer than I had expected and causing me to explore the darkest crevices of my mind looking for new and creative ways to swear at it, with only mixed success. Cue long hours, too much coffee and Red Bull, and some seriously knotted shoulder muscles. That’s why it was an especially nice surprise this morning to find a box on my doorstep, containing an unexpected gift from a friend & long-time Ogre user in France (tuan kuranes) - a bottle of Champagne and also a bottle of a local speciality, Chartreuse.
We’ve had ‘custom memory allocators’ on our upcoming features list for a while. Last year a student did some work on this during the Summer of Code, but the system ended up being a little too ambitious with its use of templates and got a bit too costly in terms of the template instantiation requirements. Unfortunately the student never returned, so I picked up the baton recently, and I felt it was worth writing about some of the things I’ve done, since most of the C++ allocator discussions on the net are pretty shallow and only deal with the simple cases. This is quite a big and fairly technical discussion, so I’ve placed the bulk of it after the jump to spare those who don’t care about this sort of thing! 😀
I’ve been rather busy these last few weeks which will hopefully go some way to excusing (or at least explaining) my often multi-day absences from the OGRE forums lately. I’ve had an influx of work propositions, on top of the projects I already have running and it’s been a struggle to juggle it all. In a way it’s nice to have to turn down work because I’m not likely to be able to fit it in for a few months, but at the same time, since in the past there have been times where work has been short, it feels so wrong.
I’ve only been to Siggraph once before, in 2006 when it was held in Boston. It happened to coincide with a trip I wanted to make to see some friends / clients of mine anyway so it dovetailed in quite well - I also held a Birds of a Feather (BOF) meet-up for the OGRE community while I was there, and it was good to meet a few of our users.
Someone spotted that the latest video for MOTORM4X, an off-road driving game made using Ogre which is being released commercially imminently, turned up on the front page of GameTrailers.com, which was nice to hear. Here it is, since it’s already been buried: I think it’s looking very nice - ok it’s not quite GT5 as some of the comments have so eloquently pointed out, but considering both the size of the team and relative budgets involved (I understand they have only one full-time programmer!
I posted recently that we were having some mipmapping issues with NVIDIA’s newest drivers, the 175.x series, on both Windows and Linux when using GL. Thanks to help from the nice chaps at NVIDIA these issues are now resolved for the moment - there does indeed appear to be a bug in some aspects of the hardware mipmap generation implementation in these drivers, but the workarounds exposed a couple of bugs of our own in software mipmap generation code - which hasn’t been used by Ogre on most modern hardware for several years, since we’ve opted for hardware mipmap generation for a long time.
Nvidia released their new 175.16 drivers about 10 days ago, and I was glad to see that the stalling issues we’d had on multicore CPUs with OpenGL / XP in the previous 169.21 driver were fixed. However, to my dismay a set of new problems have appeared with mipmapping, again on OpenGL only. I’ve done quite a bit of testing over the past week to try to narrow the issues down, but the bottom line is currently this:
I thought the 8800 was quite a big card. I’ve had a couple of them, and they seemed to get a little stockier each time, such that the term ‘card’ seemed a little disingenuous - ‘brick’ would have been a more accurate term. A beautiful looking brick admittedly, shiny and black and with Lambourghini-esque tailorings, but still more cuboid than you might ideally desire. However, due to the near insatiable demands of a project I’m working on at the moment, the second-generation 8800 GTS that has sat in my main dev machine for all of about 2 months has now been replaced again, this time with a shiny new 9800 GX2.