3D-Console is a system that manages and renders a three-dimensional general purpose user interface for multiple applications in a shared three-dimensional virtual space. The applications are arbitrary operating system processes, as we know them, and therefore, with the 3D-Console, we can view the operating system as a Virtual Reality Environment.

Just like X, which manages two-dimensional application interfaces, 3D-Console provides a network independent API. Further more, since the protocol is based on CORBA, the API is also language independent.

3D-Console is heavily based on X3D. The X3D specification provides us with many of the conceptual building blocks needed in 3D-Console. This includes a model for rendering primitives as well as a model for the interface to applications. We found it not viable to reuse an existing X3D implementation because we needed to add many hooks into the X3D core engine for it to support the concepts of 3D-Console. On the other hand, we wanted to end up with an X3D implementation that was fully compliant with the specification. This goal is not reached yet (see our Masters Thesis for further details on how compliant it was at the time of writing.) Part of the reason for this decision was that, at the time when we started (August 2002), no complete, available and open implementation of X3D existed.

3D-Console is designed as an application of a framework of software libraries (of course.) We have named this framework, Archon. Among other things it contains the implementation of the X3D specification. Since this implementation is provided as a collection of libraries, it can easily be embedded in other applications - an X3D plug-in for a web browser would be an obvious example.

Work on this project is ongoing - but slowly. There is a huge mountain of code to be written before 3D-Console can actually become useful in accordance with its stated goal. We are still very enthusiastic about this projects ourselves, and we will be happy to let you and other hackers collaborate. If you are interested, please write to, Kristian Spangsege <kristian.spangsege@gmail.com>.

3D-Console started as a 1 year Masters project at the Institute of Informatics and Mathematical Modeling at the Technical University of Denmark.

"In a virtual world, we are inside an environment of pure information that we can see, hear, and touch. The technology itself is invisible, and carefully adapted to human activity so that we can behave naturally in this artificial world. We can create any imaginable environment and we can experience entirely new perspectives and capabilities within it. A virtual world can be informative, useful, and fun; it can also be boring and uncomfortable. The difference is in the design."
- from Virtual worlds: No interface to design (read this or stay clueless!!!)
SourceForge download page
Kristian Spangsege <kristian.spangsege@gmail.com>   [on SourceForge]
Brian Kristiansen <brian.kristiansen@oracle.com>   [on SourceForge]
This project:
Image gallery
Masters thesis: thesis_main.ps.gz thesis_supp.ps.gz
SourceForge project page
Browse the CVS tree
Source-level documentation (Doxygen)
Figure: Archon - X3D Engine / Inter-object references
Developer links:
Framework & SAI: ISO/IEC FDIS 19775:200x
Framework - Amendment 1: ISO/IEC FDIS 19775:2004, Amendment 1
Binary encoding: ISO/IEC FDIS 19776-3:200x
Language bindings: ISO/IEC FDIS 19777:2005
3rd party libraries:
The Mesa 3D Graphics Library (libGL, libGLU, libGLX)
omniORB (A free CORBA/IIOP 2.1 compliant ORB implementation)
SpiderMonkey (libjs) (A JavaScript Engine in C from the Mozilla project)
The FreeType Project (libfreetype)
Posix Threads (libpthread)
Other references:
Very cool projects - somewhat similar to 3D-Console:
3Dwm: The Three-Dimensional Workspace Manager or alternative link
Open Scene Graph
Other neat links:
Virtual worlds: No interface to design (read this!!!)
Wikipedia - The Free Encyclopedia
Contact either of:
Kristian Spangsege <kristian.spangsege@gmail.com>
Brian Kristiansen <brian.kristiansen@oracle.com>
SourceForge Logo