This Wiki page contains a list of frequently asked questions about Java 3D. All Java 3D Community Members are welcome to contribute to this FAQ! Please read Java3DWikiInfo before making any changes.
Joining the parent java3d project lets you file issues (bugs and feature requests).
Note: unless you want to work with the Java 3D internals, or see automated source code checkin messages, you only need to
join the parent java3d project.
Q: How do I subscribe to the Java 3D discussion forum / mailing list
The new Java 3D interest list is available either as a discussion forum (which is what most of the community uses) or as a mailing list. Messages posted to one are cross-posted to the other automatically.
Discussion Forum
To participate in the discussion forum, you should first do the following:
The URL for the Java 3D forum on java.net is: http://forums.java.net/jive/forum.jspa?forumID=70Mailing List
If you prefer to send/receive messages via a mailing list, you will need to follow these steps:
Go to the "Mailing Lists" page of the parent java3d project and subscribe to the "interest@java3d.dev.java.net" mailing list
You will then receive e-mail when messages are posted to the forum or sent to the "interest@java3d.dev.java.net" mailing list.
More Information
For a description of the various mailing lists and the forum, go here:
http://java3d.dev.java.net/#Feedback_and_Discussion
Go to the Issue Tracker and click on the appropriate link for the type of issue you want to enter: Defect, Patch, Task, Feature, or Enhancement. Defect is the most common one and is used for reporting bugs.
After you submit a Defect, please attach a test program that reproduces the problem. You can do this by going to the issue and clicking on the "Create a new attachment" link, which is located below the summary.
For more information about filing issues, please see: https://java3d.dev.java.net/#Reporting_Issues
Q: How do I download the Java 3D source code?
Before downloading the source code, you will need to create a java.net account if you don't already have one.
You must use CVS to download the source code for projects on java.net (see: Q: What is CVS and How Do I Use It? if you are unfamiliar with CVS).
Java 3D is composed of three main CVS modules (projects), which can be checked out using a CVS client:
In order to build the code, the three top-level directories must be named exactly as shown above and they must be sibling directories. To ensure this, run the cvs checkout command for each of the modules from the same parent directory. For example:
Build vecmath (see vecmath/README-build.html in the source tree)
Build j3d-core (see j3d-core/README-build.html in the source tree)
Q: What is CVS and how do I use it?
Concurrent Version System (CVS) is a source code control system used by java.net projects.
If you are new to CVS, Login to java.net and go to the following page:
https://j3d-core.dev.java.net/servlets/ProjectSource
[TODO: ADD MORE INFO HERE]
For more information see the following CVS links:
Java3D 1.3.1:
Works fine on NVidia cards. ATI cards with new drivers do not work with j3d 1.3.1 on Windows (on Linux work fine).
Matrox cards do not work with turned off Z-buffer (it is turned off by default in this videocards, so, if you want to run java3d on Matrox, you should turn on Z-buffer). Also, in some cases Matrox does not work even with turned Z-buffer or does not render textures (these problems can be solved by using DirectX j3d version, setting 16-bit color depth, setting 800x600 video mode at last). Intel cards have troubles with refreshing on OpenGL version.
Java3D 1.3.2:
Works fine on NVidia, ATI ( Win32 : CATALYST 5.3 or later ) and Matrox (with turned on Z-buffer).
Also works fine on Windows 2000 using S3 Savage4 ( driver Sigma Savage4 v8.40.03) . Savage4 is a OpenGL? 1.1 hardware, so it lacks some advanced features, as DOT3 bump mapping, Cube mapping, etc.
Java3D 1.4:
Works fine as in Java3D 1.3.2. If programmable shader is used NVidia family ( Tested : FX 500, FX 3000, FX6600, FX Go6600 and FX6800) works well. ATI has limited success.
Java 3D 1.5:
Generally works fine. Results may depend on the renderer used. More stable ATI results than Java 3D 1.4 when using the native Windows renderer. On Mac OS X, both ATI and NVidia chipsets work fine under JSR-231/JOGL.
In general, no. Java 3D requires a supported 3D graphics card and communicates with it using native method calls. However, software rendering has been requested by some members of the user community.
Some X Window servers may support software rendering. This capability can be useful, for instance, when running Java 3D on a server. See this thread:
http://forums.java.net/jive/thread.jspa?threadID=4535&tstart=2385
Q: How do I download and install a Java 3D binary release?
The answer varies with the operating system.
For Versions of Mac OS X after Panther, no installation is required for Java 3D 1.3.1.
On Windows, Linux, Solaris, and Java 3D 1.5 for Mac OS X, installers are available here:
https://java3d.dev.java.net/binary-builds.html
Q: How do I run a Java 3D application?
Like other java applications, Java3D applications are invoked by calls to:
static void main (String[] args) { .. }
In other words, as long as the Java3D classes are installed properly and available, Java 3D applications are invoked in the exact same manner as other applications.
Similarly, Java3D applets run exactly like other applets.
Unanswered General Questions
The following questions still need someone to write an answer for them. When this is done, they can be moved back up to the previous section in the appropriate place.
Q: How can I deploy my Java 3D application?
[THIS NEEDS MORE WORK]
Advice from users:
We found the question of installation so troublesome with mismatch of versions and users patially installing the software we bundle the complete java jvm and libraries (including J3D?) and in a subdirectory of our installation directory. No troubles since we did that.
The best way to deploy is probably to use Java Web Start. Long ago I had to distribute two versions of an application - one bundled with the JMF runtimes and one without. The download-size bloat of bundling is incredibly large! For a download-dependant developer trying to keep small file sizes, this was problematic. Web Start is a huge help because it only grabs the extra files if they're needed. The downside of deploying applications in this format is that it's not conducive to CD or large-format offline titles. But then, neither is Java, really.
Update: After some poking around, it seems like at least given the examples on Java3D's frontpage, jnlp doesn't solve the deployment issue. Worse yet, they fail silently, so if you don't have j3d, you wind up with extra hidden tasks on your computer that don't exit with an exception, nor do they show the pretty 3d examples. So more work is needed to improve J3D? deployability, and in fact java deployability in general.
Q: Where can I get some good 3D Layout Managers, similar to BoxLayout?, BorderLayout?, or HTML tables
[ANSWER TO THE QUESTION GOES HERE]
Q: How can I run a Java 3D 1.5 applet on Mac OS X ?