Ogre

By-value static member variables & XCode debug builds

Well, this had me baffled for a while. I’ve been beavering away on allowing custom, user-supplied memory allocators in Ogre, hopefully for inclusion in the upcoming 1.6, and I came across a very weird problem in OS X. The wrapper for customising regular allocations (ie new/delete as opposed to STL allocations, those are in a different std::allocator compatible class), looks like this: template <class Alloc><br /> class AllocatedObject<br /> {<br /> protected:<br /> &nbsp;&nbsp;&nbsp; static Alloc smAllocPolicy;

Read more →

LOW BATT

The blog has suffered a little since I’ve had a very hectic week, with multiple clients to keep happy, a couple of social events and since most of last weekend was taken up with organising Ogre SVN conversion and various chores I seem to have had very little downtime - my only gaming all week was a couple of hours on Crackdown. My energy seemed to finally run out last night when I found myself dragging my half-comatose body to bed by 11pm - completely unheard of in our house.

Read more →

OSDN network recovers

For those on this side of the Atlantic and therefore not in bed, many of the OSDN sites were down all morning including Slashdot, Freshmeat and most importantly for me, Sourceforge. Sourceforge occasionally has some downtime, something that some people moan about, but since they provide a ton of bandwidth and facilities for free (except for the optional yearly subscription that I happily pay) I say we can’t complain. However this time, absolutely everything was offline, CVS and Subversion servers, their own cached site, everything.

Read more →

Working around GLSL attribute aliasing problems on OS X

As much as I love using OS X, one of the double-edged swords is that the graphics driver updates are controlled by Apple. On the one hand, that’s a bonus because you have a better idea of what you’re dealing with out in the wild, and people get prompted to update their drivers (as part of the regular OS X auto-update). On the other hand, it’s a pain in the ass because the drivers tend to lag behind those from the GPU manufacturers and therefore have bugs the mainstream ones don’t.

Read more →

Rez meets AudioSurf?

See, this is kind of the thing that makes me happy (ish) to get up in the morning - a group of 4 students at the National University of Singapore have developed an interesting experimental game using Ogre and other tools, called ‘Rainbow Road’. What makes it interesting is that it’s a Wiimote-controlled shoot-em up which generates enemies based on a music track that you’re listening to. Their development video is pretty interesting, it shows the various stages they went through to get there.

Read more →

Ogre at the London Science Museum, World Tour later

I love the Science Museum. Of course I do, it’s a natural environment for me - they have a Cray in there for Turing’s sake, I was geeking out about that for ages when I visited a few years ago (while my wife rolled her eyes and grudgingly took a photo of me next to it). So you can imagine I was happy to hear that Ogre is living there right now, for a little while at least, because a game made with it is part of the Science of Survival exhibition, a family-oriented interactive exhibition concentrating on “global resources, climate change, and our options for a sustainable future”.

Read more →

Intel use Ogre for Nehalem demo

You’ll know about this if you read the forums, but I thought I’d post about it here too. At the Intel Developer Forum in Shanghai Intel showed off their ‘Smoke’ demo which they designed for the 4-core (2 HT threads per core) Nehalem processor, which includes Havok physics and a lot of fire simulation. They chose to use Ogre for the rendering, which is nice 😀 Video 1 Video 2

Read more →

GPU Gems is now available for free online

It may be going on for 4 years old now, but GPU Gems is still a fantastic resource - in fact now that you can rely on being able to use the techniques it contains on a much larger array of hardware, it’s perhaps even more practically useful than it was on release. Graphical products outside the hardcore gaming space (and this is where Ogre gets used most) are increasingly catching up and using more advanced shader effects now, and so a resource like this is actually maturing rather well.

Read more →

Precompiling shaders, without the pain

Everyone loves high-level shader languages. Well, most people anyway - it takes a certain kind of person to enjoy writing assembler language. They do have one disadvantage though - compiling them is not ‘free’, it does take an amount of time. For many things you might not notice, but if you have a lot of shaders, or particularly if you have long, complex shaders such as ‘uber shaders’, where you have one enormous set of code with precompiler options producing many variants, you might be surprised how long they might take to compile.

Read more →

Vendor &#038; device filtering in Ogre material techniques

Ogre’s material system is pretty smart already, and one of its many features is to automatically switch techniques based on the supportability of certain hardware features you’ve tried to use in your material. Thus, you might provide an uber-fantastic Shader Model 3 lighting model for cards that can handle it, and provide simpler implementations that will be automatically used on lower end hardware. Other uses of techniques include ‘material schemes’ (where you can define alternate pathways for your materials and associate them with particular viewports, render targets or system options - useful for HDR paths, high / low detail options etc) and level-of-detail support where you can drop the complexity of your materials in the distance automatically - however hardware fallback is probably the most common use.

Read more →