Goblin XNA is an open source platform for creating 3D user interface especially for augmented reality application. It has BSD licence and written using C# language under .NET Framework. Currently, Goblin XNA ver 3.5.1 just supports .NET 3.1 and XNA 3.5 (Goblin XNA ver 4.0 for XNA 4.0 will be released in this year). Goblin XNA is a framework to create graphics system for manipulating scene and rendering that blend realilty and virtual objects. In addition, Goblin XNA supports for 2D components.
Goblin XNA works with video stream from camera or webcam as input. With this video stream, Goblin XNA will detect for marker in physical environment using tracking system. After marker is detected, Goblin XNA will generate transformation matrix from marker’s relative position to camera.
Goblin XNA is not pattern recognition libary for marker tracking. Therefore it uses ALVAR Wrapper for its marker tracking feature. ALVAR is marker-based augmented reality library created by VTT of Finland. ALVAR Wrapper is default marker tracker for Goblin XNA but developers is able to use customized tracker library such as ARTag or ARToolkit.
Goblin XNA’s system takes form of scene graph which very similar to OpenSG (http://www.opensg.org/). Scene Graph is groups of nodes that form n-tree hierarchy. This hierarchy will create parent-child relationship for each node. Every node only has one parent (root node is the only exception) and it is possible to have 0-n children(s).