Java Advancing Imaging and Java 3D are modern graphics libraries made available to Java developers on Mac OS X. This release works with either Java 1.4.1 or 1.4.2 and is available as a download from http://docs.info.apple.com/article.html?artnum=120289.
Any developer that currently distributes Java 1.4.1 or 1.4.2 applications for Mac OS X and wants to utilize either Java Advanced Imaging or Java 3D should read this document. Anyone interested in new Java development (either J2SE or Cocoa Java) should read this document for the most current information on new features provided with Java Advanced Imaging and Java 3D.
The installer for Java3D and Java Advanced Imaging requires Mac OS X 10.3.1 or greater with a Java version of 1.4.1 or greater
Note that Java3D and Java Advanced Imaging are not supported on Java 1.3.1
The Java 3D and Java Advanced Imaging installer will remove the Java 3D and Java Advanced Imaging developer examples that were installed in /Developer/Examples/Java/ by the Java3D DP1 and Java Advanced Imaging DP1 installers. If you installed those builds and you wish to preserve these examples, please back them up before installing this release
Both Java3D and Java Advanced Imaging are installed as Java System extensions, so all their files are located in /System/Library/Java/Extensions/
Note that developer-installed extensions should go in /Library/Java/Extensions/
The Following Apple Java documentation may be helpful:
Java on Mac OS X Frequently Asked Questions (http://developer.apple.com/java/faq/)
Please report ALL reproducible crashing bugs.
When running with Java 1.4.1, this error message may appear: "Java couldn't paint in Java_apple_awt_CRenderer_doRect, no focused view." This is a common message seen in Swing applications, and means that one of the paint calls has failed for the view. This is a message from the Mac OS X 1.4.1 JDK and is not specific to JAI or Java 3D. This issue should be addressed in future versions of the JDK.
The Java Advanced Imaging-Image I/O Tools are not included in this release.
The Java 3D and Java Advanced Imaging installer will remove the Java 3D and Java Advanced Imaging developer examples that were installed in /Developer/Examples/Java/ by the Java3D DP1 and Java Advanced Imaging DP1 installers. If installed those builds and you wish to preserve these examples, please back them up before installing this release. See the Java Advanced Imaging and Java 3D sections below for information on obtaining examples from the Sun website.
If you install a copy of Java Update 1.4.1 on Panther (or update your Panther Java as described in Tech Note #2099), you will need to reinstall Java 3D and Java Advanced Imaging again afterwards.
Currently, specular highlights do not work in Java3D.
Java3D installs an updated version of the JDK 1.4.1 jawt.dylib. In the case where JDK 1.4.2 has been installed, the extraneous 1.4.1 file installed in /System/Library/Frameworks/JavaVM.framework/Versions/1.4.1/Libraries/jawt.dylib is benign.
This is JAI version 1.1.2.
Many of the JAI mediaLib functions now have native implementations.
In cases where no native function is available, the pure Java implementation will be used.
A number of JAI examples and utilities can be found at http://java.sun.com/products/java-media/jai/utilities/jaiutils.html.
Under heavy usage of JAI on multi-processor hardware, your application may deadlock. If your application is affected, a temporary workaround is to set the following runtime option: -Dapple.awt.graphics.UseMPEnabledLazyPixelConversion=false
The Java Advanced Imaging-Image I/O Tools are not included in this release.
This is Java 3D version 1.3.1.
The performance of Java3D applications that use textures based on CUSTOM images is improved in 1.4.2 compared to 1.4.1.
Examples and tutorial can be found at http://java.sun.com/products/java-media/3D/collateral/.
Provided a new runtime option to control Canvas3D resize behavior, which under certain conditions might fail, resulting in visible artifacts. Use: -Dapple.j3d.CheckForContextUpdateEachFrame=true runtime option to perform extra checks on view bounds changes. If enabled, this check is performed every single frame. The default setting is false.
Use the bug reporter on the Developer Connection website at http://bugreport.apple.com/
It is critical that you report bugs to us, so that we can track them. If they are not reported via the bugreporter, they aren't in the system and will not be tracked and fixed
Please put "Java3DGM:" or "JAIGM:" at the beginning of your bug title
Please include a test case if possible. A small, reproduceable test case which can be run from the command line is the most valuable piece of feedback
If the bug only occurs with 1.4.1 or 1.4.2, please indicate which JDK shows the problem
Please give a summary of your system hardware configuration, especially the graphics card and display info
For hangs/deadlocks, do a 'kill -QUIT' on the process ID and copy the resulting data from the Console or stdout in the Terminal. If the process doesn't respond to a 'kill -QUIT', please do a 'sample XXXX 3' where XXXX is the process ID of the hanging process
For crashing bugs, include both the native and the Java stack crawls:
The native crash log is located in the standard location for CrashReporter, ~/Library/Logs/CrashReporter/
The Java-specific crash information is located at: ~/Library/Logs/JavaNativeCrash_pidXXXX where XXXX is the process ID of the crashing process
Last updated: 2004-10-05