Wednesday 2 January 2008

Happy New Year!

Yup, its 2008..boo hoo, like the first of january was ever going to be full of rainbows and unicorns. It was a freezing cold day and I stayed in and studied...Not really that bothered.

On a slightly cheery note, volatile-engine is in SVN at googlecode: http://code.google.com/p/volatileengine. So thats one step closer to an actual release.

This SVN entry is actually the 6th fork of VE...VE 2 is the most full featured, but the 6th is the one im happy about. Ive been making the comparison between VE and j2d recently and I think that stands. You create a Surface (be that a texture, or a window), get its rendering context, and call draw, clear, project, whatever on it. The rendering context will render onto that surface. And there is a CompositeSurface for MRT...

I've also had a Obj loader contributed to VE from MatthiasM. Its not in SVN yet, have to sort a few things out with VBOs and textures before that goes in. But nevertheless, thanks.

Also, had an idea regarding transformations from Riven that has helped with JNI overhead as well as some performance enhancements. It has to do with the way the engine handles transforms. Previously, each SceneObject had its own localTransform as well as a cumulative worldTransform. Now, a SceneObject returns the localTransform and the worldTransform of its parent. Only a TransformSceneNode has the ability to actually move anything.

This is useful in two ways:
  1. Saves on glMatrixMode, glPushMatrix,  glLoadMatrix and glPopMatrix calls if the transform is the same.
  2. If a model has multiple parts to it, you can shove them in a single SceneNode and move that around. Other engines decided to have multiple Geometry(s) inside the equivilant of SceneMesh, but that has alot of hastle when it comes to passes.
So thanks to him for that contribution. All in all, I am very happy about the architecture of VE now. Hope this enthusiasm for coding stays for a while :)

Last but not least, Im still using alot of Gareth Jenkin-Jones' code (AKA ChaosDeathFish) especially the Array stuff. So thanks a bunch for that gareth.

No comments: