This project contains the source code
for the core Java 3D API
package, javax.media.j3d
.
Related projects include: vecmath (the 3D vector math package), j3d-core-utils (the Java 3D core utilities), and j3d-examples (the Java 3D example programs). The vecmath and j3d-core-utils projects are required to build j3d-core. Refer to the download and build instructions for information on downloading and building j3d-core.
The source code for the core Java 3D API reference
implementation is available for research use
under the TBD1 license [TODO: license link].
It is also available for commercial use
under the TBD2 license [TODO: license link].
The API specification will continue to evolve as part of the Java
Community Process (JCP). We welcome community
participation, and encourage developers to
contribute both bug fixes and
new implementation code to the API. The TBD1 and TBD2 licenses were
chosen to
facilitate this, while ensuring that the API is not fragmented with
incompatible versions being released.
Release project Source code
The current, experimental fork of the of the Java 3D source
code is an early access of version 1.3.2. It is
available for download from the CVS repository of this project.
This source release differs from the the current 1.3.1 release in
the following
ways:
com.sun.j3d.*
packages have been split out into
their own project (j3d-core-utils).The reason the Headspace AudioEngine was removed is that we do not have the rights to ship the source code for the native Headspace sound mixer. Our plan going forward is to implement an AudioEngine using JOAL.
Java 3D 1.3.x bug fixes
We will work with the community to address bugs identified in
Java 3D
1.3.1, and will release new versions of Java 3D 1.3.x as
needed.
Bug fixes will be immediately available in the CVS source, or from the
weekly builds on this site. We will release official 1.3.x versions no
more often than twice a year.
Java 3D 1.4
We will file a new JSR (or revive the existing JSR-189) under the Java
Community Process (JCP) shortly, and form an Expert Group of community
members to
design and implement the next version of the Java 3D API. We
envision 1.4
including features such as programmable shaders. Our goal is to
minimize large scale changes to the system in order to deliver 1.4 as
quickly as possible. This initial direction could be changed by the
Expert Group.
Java 3D 1.5/2.0
The scope of this release will be driven by the JSR Expert Group.
Our initial
thoughts are that this work will include large scale changes to support
features such as extensibility and pluggable renderers.
Here are some project ideas for the j3d-core project. Please see the Project Suggestions in the j3d-core-utils project for more ideas.
Anyone who wants to contribute source code, even in the form of
e-mailed bug fixes,
must have a signed contributor agreement [TODO link] on file. The
Java 3D
team regrets that we are unable to even look at submitted bug fixes
unless this author
has the
contributor agreement on file. This may seems harsh, but it is a policy
designed to protect the project from patent infringement and copyright
issues. We encourage all developers to download the agreement [TODO
link], sign it, and
fax it
to the number indicated [TODO link]. Then you are more than welcome to
send in fixes for your favorite bugs!
We invite anyone to be a project observer.
As the community matures and contributors demonstrate their
familiarity
with the API internals they will be invited to join the project as a
developer with full CVS commit
privilege. The last thing we want is
lots of people hacking on the source in the central repository and
destabilizing the API, so we will be taking a cautious approach.
The Java Community Process (JCP) also
has a significant impact on how people can
contribute to the project. Although the source of the API is available,
and we actively encourage the community to contribute to it's
development, the API itself (that is, the public and protected classes,
interfaces, methods, fields, and so forth in the javax.media.j3d
and javax.vecmath
packages) are
controlled by the JCP and can not be freely modified.
Modifications to the API will be created within the Java 3D JSR's
by an Expert Group of JCP members. A call for experts will be
made once this process is launched.
[TODO: links to code]
The j3d-examples
project includes a set of simple example programs.
[TODO: links to other examples, e.g., j3dfly]
[TODO: list of feedback and participation options including mailing
lists,
project owners/contacts, discussion forum, wikis, etc.]