New cooker release 2010-09-06
I have uploaded a new cooker release (0.9.7-dev-B1831).
  --- Agrv
  XIN updated 2010-09-01
I have updated XIN to match the current SVN trunk API.
  --- Agrv
  New cooker release 2008-10-06
I have uploaded a new cooker release (0.9.7-dev-B1618).
  --- Mathias 'cylab' Henze
  New beta release 2008-01-10
I have uploaded a new beta release (0.9.6-beta1).
  --- Marvin Fröhlich
  XIN updated 2008-01-10
I have updated XIN to match the current SVN trunk API.
  --- Marvin Fröhlich
  xith.org back online 2007-07-02
After we have been hacked, xith.org is back online! Have fun with the new website.
  --- Marvin Fröhlich
  xith.org hacked 2007-06-10
xith.org has been hacked and will be back online soon.
  --- Marvin Fröhlich

Welcome,

to the home of the Xith3D project, a modern, feature-rich and very fast scenegraph-engine. Its purpose is to deliver a toolkit for the creation of interactive 3D environments using the graphic-hardware of common desktop computers.

With Xith3D you can
  • develop games
  • visualize data
  • prototype 3D environments
just to name some examples. A good impression on what can be achieved give those promising projects. The engine is written in the Java programming language, which allows for implementation on any Java enabled computer-platform, which has a OpenGL-capable graphics hardware. As a result all applications developed with Xith3D will be inherently portable to those computer-platforms. Xith3D has been successfully installed on Linux, Windows, MacOSX and many other *nix operating systems. Its complete feature-set can be found here.


Scenegraph in a Nutshell

Most graphic boards used today can be programmed to display 3D objects. The programming interfaces provided for this purpose are rather low-level: OpenGL and DirectX. Using those interfaces the programmer has to cope with a lot of technical details, which are often not directly related to the task at hand.
3D engines like Xith3D strive to ease this burden. A programmer, who uses Xith3D can describe the contents of a 3D scene as tree-like structure of Java-objects, i.e. the scenegraph. Xith3D then uses OpenGL to render the scenegraph. The programmers focus shifts from technical aspects to the organization of the contents of a scene. On the right-hand side you can see a screenshot of the earth orbiting the sun.

Such a scenario can be created with a scenegraph that looks like this. If you decide to develop a first-person-shooter of the next generation with Xith3D, this means that you'll spend more time creating "tasty" maps than wondering, why the sky gets rendered over your anti-terrorist models.

Articles about scenegraphs can be found here:

http://www.realityprime.com/scenegraph.php
http://en.wikipedia.org/wiki/Scenegraph
http://xith.org/downloads/docs/SceneGraph/Xith3D Tutorial - SceneGraph.pdf

This book covers programming in Java3D. As the concepts of Xith3D are very similar to Java3D it is a good doc to start with:

http://www.oreilly.com/catalog/killergame/index.html

Objectives and Community

The project was initiated by David Yazel to create a lean and fast scenegraph and renderer while at the same time, allowing for extensions and enhancements to all stages of the rendering pipeline.
Porting code from Java3D to Xith3D is fairly straight-forward since it's designed on the same basic architecture.
An active and friendly community has taken up the project and is now contributing greatly. And, of course you're welcome, if you want to do join! If you have anything to contribute, please post on the board. This board is also the best place to keep informed of Xith3D progress and talk with other programmers.

Licensing

Xith3D is released under the BSD license making its use feasible for both commercial and non-commercial (freeware/open-source) projects.

Profiling

YourKit is kindly supporting open source projects with its full-featured Java Profiler. YourKit, LLC is the creator of innovative and intelligent tools for profiling Java and .NET applications. Take a look at YourKit's leading software products: YourKit Java Profiler and YourKit .NET Profiler.