On March 9th I attended the Searis 2008 Workshop: Software Engineering and Architectures for Realtime Interactive Systems, which was the perfect workshop for me 😉
svgallery=searis2008
The workshop was about presenting existing architectures and regroup people working on that particular topic, learn from existing projects so that people don’t reinvent the wheel everytime, learn from others and try for find some formalization.
Anthony Steed pointed out that having a platform running for many years is very hard and that it has to be rewritten once in a while. Architecture gets cluttered and needs a fresh restart. Nonetheless, the DIVE platform still allows him to run demos that are several years old, which is probably not the case on many systems. Many platforms break compatibility when upgrading (or license expire for commercial products).
We had the presentation of a lot of middleware architectures (InTml, Lightning, FlowVR, OpenMask, ViSTA VR, Morgan) with lots of common ground such as data flow, abstraction of devices/interaction techniques/renderer, easy cluster distribution, portability.
And there is a lot of wheel reinvention on all this common ground, but at least people are not reinventing scenegraphs (well not everyone but for good reasons, see below). Scenegraph libraries are widely used, with a lot of OpenSG, OpenSceneGraph and Ogre3D. It seems it might be a good idea to create a meta scenegraph library (if it was at all possible ;), as every engine is switching from one scenegraph lib to another at some point.
There is a new trend towards interaction techniques abstraction, following the devices abstraction.
There is also a trend of using handheld devices with limited rendering capabilities, like smartphones, PDA, mainly for Augmented Reality. Not so many platforms/toolkits support those devices (which is why Morgan created their own SceneGraph that supports this feature).
An interesting approach for manipulating heavy graphics data is to use multi-frame rate rendering. The problem is that if your data can only be displayed at very low frame-rates, your interaction will also be that slow. But you can have one fast rendering loop for user interaction, and one slow rendering loop to display the graphics data. The two images would be created on two different graphics card or PCs, then digitally composed to create the final image.
Research in the academics are being conducted to get some higher level frameworks. For example, engines that use functional reactive programming, or the actor model on abstract semantic level. I’m sorry but I didn’t quite understand what it was all about, a bit too academic programming for me.
Some other high level interesting additions are semantic description of a world/application/interaction and the use of dual state machine/data flow approach. Semantic description using web semantic tools were discussed several times.
If you’re interested in joining the group, Raimund Dachselt will give you the details of the next steps.
I’m very pleased to finally see some renewed interest and new developments in the field of VR and AR. I’m a recent graduate of a Masters degree in Design Science and most of my studies concerned VR, AR and Virtual World design/utilisation, as well as Ambient Visualisation and Physical Computing. During my studies I was rather disapointed by the then apparent state of the VR industry and the lack of progress or interest from the commercial sector despite the immence growth in the adoptation of related technologies in the consumer market eg Second Life. It is inspirational to see that new forums which aim to support the developments in this field out of the apparent stagnation and beyond the sunset epoch beginig with the decline in deployment of SGI and CAVE based implementations, have finally emerged. I’m an avid user (addict) of Second Life under the alias Charlette Proto and would be interested in anyones’ opinions related to SL and OpenSim in context of VR and AR industry and current reserach. BTW I’d be very happy to establish contact in SL or otherwise with people researching, working or developing applications in this field.