Xj3D Logo

Xj3D is a project of the Web3D Consortium focused on creating a toolkit for VRML97 and X3D content written completely in Java. This toolkit may be used to the import VRML content into your custom application, or to create a fully-fledged browser. Development is financially supported through a number of institutes and companies that we would like to heartily thank for their support!

The initial impetus for this project was to create a file loader for the Java3D API and started with a grant of code from Sun Microsystems to the Web3D consortium. Over time, the project has grown in requirements and now encompases many other features as well. For example, it is being used as one of the main testing grounds to verify the work on the new X3D specification. We have moved beyond our original Java3D-only roots and now can work with many different renderers.

This site is built to be a more community-oriented site compared to the formal source working group at the Web3D consortium. The Web3d page can be found it at http://www.web3d.org/x3d/applications/xj3d/ Both sites are maintained by the same people - the developers of the codebase. Anyway, on with the show....

How do I get started?

Firstly you will need to download code. If you want to just give it a try and have never used Xj3D before, you should visit the homepage at the Web3D consortium and download the latest milestone release. If you are a bit more adventurous and think you know Java really well, then head to our development snapshots page and grab the lastest release. If you are feeling really brave, or want to immediately start hacking on the code, then you can download the code from Subversion. You can find the details of the SVN repository here.

For tutorials on using Xj3D in your applications try these: Xj3D Tutorials

Development Status

The 2.0 release cycle is almost complete. We suggest you start with its latest dev release here: Development Snapshot

The current stable release is: 1.0
Released on 15 April 2006

Xj3D is in continuous development. Between stable releases, we release somewhat stable development snapshots known as Milestones. Milestone releases seem to come about every 4 months apart and are usually timed to match major events such as Siggraph or the Web3D conference.

Between major milestones, we occasionally release development snapshots. There is no timing or regularity to these. They are usually made available when we approach a useful break point or have finished some significant piece of functionality and would like a bit wider usage audience than just those who track our SVN code. Because these are dev snapshots, they don't have any formal release engineering or anything else like installers. Try at your own risk and we expect some reasonable level of programming compentence to install and get the code running. If you are a newbie to Xj3D and do not understand the intracacies of Java development, do not try these. They are offered without support.

Specification Compliance

A common question is "Does Xj3D support...". To answer that question we have put together a page to detail our conformance to various Web3D specifications. We hope that all browser implementors will voluntarily post their results so content authors can make informed decisions. Here are Xj3D Conformance Results.


Xj3D employs a number of licenses, dependent on the intended use of the code. The core license for the library is the GNU LGPL. We also use the GNU GPL and BSD licenses for various subsections of the codebase. Please read the License reference for more information about where each license is used. A copy of this information and license text may be found under the docs directory of the codebase.

Prototyping Efforts

Xj3D is not just about implementing some code to display VRML97 and X3D files. A lot of what we do is prototype and test various parts of the specification before it gets set in stone of the ISO process. The codebase is explicitly architected with this goal in mind. You can quite literally swap out any piece of the code and replace it with another. Pay a visit to the developer documentation area for more info on this.

In addition to the basic prototyping effort, we also spend a lot of time developing and testing various nodes and new components. These nodes are used to determine what form we might make with the specification. We also happen to do some fun stuff just because we think it is cool and makes some of our demos look prettier. Some of these are designed such that we might want to take them through the full specification process at a later date. If you are interested in our work in the bleeding edge part of X3D, have a look at the extensions documentation.

Bug Tracking

We have setup a bugzilla database to track bug and feature requests for Xj3D. Please use this database to sumbit bug reports on Xj3D releases. You can access the Xj3D Bugzilla Database here.

[ Xj3D Homepage | Xj3D @ Web3d | Download | Screenshots | Dev docs | Dev Releases | Conformance | Contributors | Getting Started | Bug Tracking ]
Last updated: $Date: 2009-08-04 03:41:37 $