License | Downloads | How to Contribute | Reporting Issues | Feedback and Discussion | Project Highlights | Project Suggestions | Examples
This project contains the source code
for the core Java 3DTM 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 licensed under the Java Research License (JRL) for non-commercial use. The JRL allows users to download, build, and modify the source code in the j3d-core project for research use, subject to the terms of the license.
Java 3D is also licensed for commercial use under a new no-fee Java Distribution License (JDL). The JDL allows commercial use of Java 3D with or without modification, as long as compatibility with the entire API Specification is maintained. This includes passing the TCK tests for Java 3D, and retaining the javax namespace as defined by the JCP.
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 combination of the JRL and the JDL
was chosen to facilitate this, while ensuring the integrity and
compatibility of the API.
Three types of Java 3D binary builds are available on java.net: Release (or FCS) builds; Stable (experimental, early access) builds; and Daily builds. The latest release build of Java 3D v1.3.2 is available. Daily builds of 1.4.0 are now available. Stable builds of Java 3D 1.4.0 will be available soon.
The javadoc for the fcs release of Java 3D v 1.3.2 can be found here. The javadoc for a recent daily build of Java 3D v 1.4.0 can be found here.
We invite developers to contribute to Java 3D. Please refer to the Contributing to Java 3D page in the parent java3d project to learn how to contribute to this project or any other Java 3D-related project. See the JavaDesktop Community Governance Guidelines for general guidelines on participating in JavaDesktop community projects, such as j3d-core.
We have set up the Issue Tracker
in the parent java3d
project
to track issues (bugs, feature requests, etc.) for
Java 3D-related
sub-projects. Please use the above link rather than the Issue Tracker
in this j3d-core project. Refer to the Reporting
Issues section in the parent java3d project for more information.
We have created four Java 3D mailing lists in the parent java3d project: interest 'at' java3d.dev.java.net, announce 'at' java3d.dev.java.net, issues 'at' java3d.dev.java.net, and cvs 'at' java3d.dev.java.net (replace 'at' with @). Click here to subscribe to any of these lists. The interest list is an open mailing list for discussing all aspects of Java 3D, the reference implementation for the Java 3D core, vecmath, utilities, example programs, etc. The annouce list is a low-volume moderated mailing list for announcing Java 3D-related news and information. The issues list is for automated issues tracking, and the cvs list is for automated CVS change messages (for changes to the parent java3d web pages only).
For those who prefer a forum to a discussion mailing list, we have
created the
Java 3D
forum, hosted as part of the JavaDesktop Community. Messages
posted on the forum are cross-posted to interest
'at' java3d.dev.java.net
and vice-versa.
Finally, each sub-project has its own cvs mailing list. Click here to subscribe to this list. The cvs 'at' j3d-core.dev.java.net list is for automated CVS change messages and discussion of those changes.
Release project Source code
The Java 3D source
code is available for download from the CVS repository of this project.
The trunk of the CVS repository is a stable (pre-fcs) version of
Java 3D 1.3.2. A Java 3D 1.4 development branch, dev-1_4
,
is also available in the CVS repository. For a
description of the CVS tags used in this project, please refer to "Using CVS Tags in
Java 3D Projects". Daily builds for both 1.3.2
and 1.4.0
are
available and are built from the CVS source trees.
Java 3D 1.3.2
The 1.3.2 version of Java 3D on java.net differs from the 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 enourage the development community to implement an AudioEngine using JOAL.
Java 3D 1.4, 1.5, ...
A description of the set of proposed
Java 3D API changes for 1.4 (and beyond) is now available. The
main focus of the proposed
1.4 release is the addition of programmable
shaders. Our goal is to
minimize large scale changes to the system in order to deliver 1.4 as
quickly as possible. We encourage members of the development community
to review this proposed set of changes and provide feedback. We also
hope that community members will help us design and implement the 1.4
version of the Java 3D API.
Once the majority of the API changes are decided upon for
Java 3D 1.4, we will file
a new JSR (or revive the existing JSR-189)
under the Java
Community Process (JCP). At this time, we don't anticipate forming a
JCP Expert Group, since we will already have reviewed the API publicly
in the java.net community.
A list of other possible
improvements to Java 3D version 1.4 is also available, and is
an unprioritized list of improvements that do not require API changes.
Java 3D 2.0
The scope of this release will be driven by the level of interest
and community support that we get.
Our initial
thoughts are that this work will include large scale changes to support
features such as extensibility and pluggable renderers. Click the
following link for a list of
possible 2.0 features.
The main areas in j3d-core for which we need help from the community are:
Please see the Project Suggestions in the j3d-core-utils project for more ideas.
The j3d-examples
project includes a set of simple example programs. The Java 3D
Fly Through v 2.0 Beta sample application shows you how to take
advantage of the capabilities of Java 3D technology. You can
download
the source code via http://java3d.netbeans.org.