This news page has been a bit quiet, but there’s plenty going on as those who frequent the forums will know. For those who don’t, here are some of the things the current CVS copy supports over and above 0.13.x so far:
- Hardware skinning – based on vertex programs it’s now very easy to use hardware skinning on your meshes, which improves performance especially for large meshes. Ogre intelligently falls back on software skinning if the graphics card cannot do it, or you haven’t bound a skeletally-aware vertex program to the material you use. You can mix and match hardware and software skinning for the same mesh too.
- Shadow framework – modulative stencil shadows are done, and additive shadows will be done very soon. We use all kinds of nice features like 2-sided stencilling and flipping between zpass and zfail algorithms to try to maximise the performance, there are still some more optimisation tricks I want to add too. I’m aiming to do persepctive-adjusted shadowmaps in time for 0.14 (fingers crossed), since they look great and are much more GPU friendly than stencil shadows anyway.
- Rationalisation of Camera / Frustum / SceneNode methods – you can now have SceneNodes track other SceneNodes automatically, and use the same fixed yaw features available on Camera in SceneNode. This makes it incredibly trivial to do things like make a gun turrent which automatically tracks a target
- Improved flexibility of skeleton structures – we’ve made it much easier to take manual control of entire skeletons, which will help all the people making ragdoll simulations (of which there are 3 now)
- Introduced a new ‘temp buffer licensing scheme’ which allows objects to ‘check out’ temporary copies of buffers when they need them (e.g. for software skinning), but not hold them permanently; they are returned to a shared pool. This is important to allow objects to maintain temporary results within a frame for other processes, without having to dedicate a temporary buffer to every object exclusively (which would be a memory hog). This allows larger numbers of objects in the scene without having a linear effect on memory.
As you can see, we’re working feverishly to make 0.14 yet another milestone release for Ogre. Stay tuned…