aboutsummaryrefslogtreecommitdiffstats
path: root/release-info/README.release.cpp-old
diff options
context:
space:
mode:
authorKevin Rushforth <[email protected]>2004-06-09 04:25:41 +0000
committerKevin Rushforth <[email protected]>2004-06-09 04:25:41 +0000
commit343b658c32a6473c545187c1e276ee5d06c2686a (patch)
treead2606538b7db1c3553c53a79ccccb2ed5b5e4e2 /release-info/README.release.cpp-old
parent06cebb1e576da6f7222f999ab059dcfa3d8edd39 (diff)
Initial creation of j3d-core-utils sources in CVS repository
git-svn-id: https://svn.java.net/svn/j3d-core~svn/trunk@7 ba19aa83-45c5-6ac9-afd3-db810772062c
Diffstat (limited to 'release-info/README.release.cpp-old')
-rw-r--r--release-info/README.release.cpp-old974
1 files changed, 974 insertions, 0 deletions
diff --git a/release-info/README.release.cpp-old b/release-info/README.release.cpp-old
new file mode 100644
index 0000000..51fa99a
--- /dev/null
+++ b/release-info/README.release.cpp-old
@@ -0,0 +1,974 @@
+#if 0
+/*
+ * $RCSfile$
+ *
+ * Copyright (c) 2004 Sun Microsystems, Inc. All rights reserved.
+ *
+ * Use is subject to license terms.
+ *
+ * $Revision$
+ * $Date$
+ * $State$
+ */
+#endif
+
+========================================================================
+========================================================================
+
+NOTE: THIS FILE REFERS TO THE 1.3.1 BINARY RELEASE OF THE JAVA 3D API
+AND, AS SUCH, IS OUT OF DATE.
+
+IT NEEDS TO BE UPDATED FOR the 1.3.2 RELEASE.
+
+========================================================================
+========================================================================
+
+
+Java 3D(TM) 1.3.1
+#if defined(WIN32OGL)
+README file for Win32/OpenGL
+
+This file contains important information for users of Java 3D(TM).
+The first four sections (Requirements, Installation, Shared
+Contexts, and Running Java 3D(TM) in a Browser) are of interest
+to all Java 3D(TM) users. The rest of this file applies only to
+developers of Java 3D(TM) applications.
+
+** It is recommended that any previous version of Java 3D(TM) be
+** uninstalled before installing this version.
+#elif defined(SOLARIS)
+README file for Solaris/SPARC/OpenGL
+
+This file contains important information for users of Java 3D(TM).
+The first four sections (Requirements, Installation, Shared
+Contexts, and Running Java 3D(TM) in a Browser) are of interest
+to all Java 3D(TM) users. The rest of this file applies only to
+developers of Java 3D(TM) applications.
+
+** It is recommended that any previous version of Java 3D(TM) be
+** removed before installing this version.
+#else
+README file for Win32/DirectX
+
+This file contains important information for users of Java 3D(TM).
+The first three sections (Requirements, Installation, and Running
+Java 3D(TM) in a Browser) are of interest to all Java 3D(TM) users.
+The rest of this file applies only to developers of Java 3D(TM)
+applications.
+
+** It is recommended that any previous version of Java 3D(TM) be
+** uninstalled before installing this version.
+#endif
+============
+REQUIREMENTS
+============
+#if defined(SOLARIS)
+This version of Java 3D(TM) for Solaris/SPARC requires the following:
+
+ Java 2 Runtime or SDK version 1.4 or later from Sun Microsystems.
+ (http://java.sun.com/j2se/)
+
+ Frame Buffer with OpenGL support (XVR-500, XVR-1000, XVR1200, XVR-4000,
+ Expert3D, Elite3D, Creator3D, and PGX).
+
+ Solaris 7 or later.
+
+ OpenGL 1.2.2 for Solaris or later. Depending on type of frame buffer,
+ a higher OpenGL version might be needed, such as XVR-1000 requires
+ OpenGL 1.2.3.
+ To find your current version, use `pkginfo -l SUNWglrt`
+ OpenGL for Solaris can be obtained at
+ http://www.sun.com/solaris/opengl
+
+ PATCHES
+
+ There are no patches required for Solaris 8. However, Java 2
+ versions 1.4 and 1.4.1 do require patches. These patches must be
+ installed before trying to install Java 3D.
+
+
+ Solaris 7 requires the Kernel Update patch (106541-06 or later)
+ which fixes a bug on multi-processor systems that can lock up
+ the window system when running a Java 3D program with more than
+ one active window. Also, Java 2 versions 1.4 and 1.4.1 require
+ patches. These patches must be installed before trying to install
+ Java 3D.
+
+
+ Use `showrev -p` to list installed patches. Patches can be
+ downloaded for free from http://sunsolve.sun.com/.
+#elif defined(WIN32OGL)
+This version of Java 3D(TM) for WindowsNT 4.0,
+Windows 98, Windows ME and Windows 2000 requires the following:
+
+ Java 2 (Runtime or SDK) version 1.4 or later from Sun
+ Microsystems (http://java.sun.com/jdk/). This includes
+ the Java Plug-In (JPI) to update Java(TM) in your browser.
+
+ OpenGL 1.1 or later, available from Microsoft or from
+ your graphics card manufacturer (see below).
+
+ NT 4.0 only: Service Pack 3 or later.
+#elif defined(WIN32D3D)
+This version of Java 3D(TM) for Windows 98, Mindows ME and Windows 2000
+requires the following:
+
+ Java 2 (Runtime or SDK) version 1.4 or later from Sun
+ Microsystems (http://java.sun.com/jdk/). This includes
+ the Java Plug-In (JPI) to update Java(TM) in your browser.
+
+ DirectX 8.0 or later, available from Microsoft
+ (http://www.microsoft.com/directx/default.asp).
+#endif
+============
+INSTALLATION
+============
+
+You must have permission to write files in your Java(TM) Runtime
+Environment and/or SDK directories. If you do not have this
+permission, the installer will run to completion but Java 3D(TM)
+will not be installed. Make sure you are running Java(TM) from
+your local machine and that you are the same user who installed
+Java.
+#if defined(SOLARIS)
+To install Java 3D(TM), execute the appropriate self-extracting
+shell script.
+
+ Runtime only: java3d-1_3_1-solaris-sparc-rt.bin
+ Runtime and SDK: java3d-1_3_1-solaris-sparc-sdk.bin
+ 64 bit Runtime: java3d-1_3_1-solaris-sparcv9.bin
+
+For the two runtime versions, execute the script in the destination
+jre directories. Note: The 64 bit runtime only contains the nessesary
+64 bit components. Install it in the jre directory after installing the
+regular runtime files.
+
+For the runtime and sdk bundle, execute the script in the destination
+sdk directory.
+
+The Java 3D(TM) SDK includes several demo programs that can
+verify correct installation. Assuming your Java 2 SDK is installed
+at /usr/j2se, try the following:
+
+ cd /usr/j2se/demo/java3d/HelloUniverse
+ java HelloUniverse
+
+ Note: Many more demos are available under the demo/java3d/
+ directory. Some of the demos require a maximum memory
+ pool larger than the default in java. To increase the
+ maximum memory pool to 64 megabytes, add the following
+ command line options to java or appletviewer:
+ java: -mx64m
+ appletviewer: -J-mx64m
+
+Make sure you have the SUNWi1of package (optional fonts) installed by
+running `pkginfo SUNWi1of`. If not present, you may see error messages
+like this:
+
+ Font specified in font.properties not found
+ [-b&h-lucida sans typewriter-bold-r-normal-sans-*-%d-*-*-m-*-iso8859-1]
+ ...
+#elif defined(WIN32OGL)
+To install Java 3D(TM), execute the InstallShield binaries.
+
+ Runtime only: java3d-1_3_1-windows-i586-opengl-rt.exe
+ Runtime and SDK: java3d-1_3_1-windows-i586-opengl-sdk.exe
+
+The installers upgrade your most recently installed Java Runtime
+Environment and SDK.
+
+The Java 3D(TM) SDK includes several demo programs that can
+verify correct installation. Assuming your Java 2 SDK is installed
+at \j2sdk1.4.1, try the following:
+
+ cd \j2sdk1.4.1\demo\java3d\HelloUniverse
+ java HelloUniverse
+
+ Note: Many more demos are available under the demo\java3d\
+ directory. Some of the demos require a maximum memory
+ pool larger than the default in java. To increase the
+ maximum memory pool to 64 meg, add the following command
+ line options to java or appletviewer:
+ java: -mx64m
+ appletviewer: -J-mx64m
+
+If, after installation, you get the following error message while
+running a Java 3D program:
+
+ java.lang.UnsatisfiedLinkError: no J3D in shared library path
+
+it is most likely because OpenGL and/or the OpenGL GLU utilities are
+not installed on the machine.
+
+For information on OpenGL and how to get it, see the OpenGL web page at
+http://www.opengl.org/
+#elif defined(WIN32D3D)
+To install Java 3D(TM), execute the InstallShield binaries.
+
+ Runtime only: java3d-1_3_1-windows-i586-directx-rt.exe
+ Runtime and SDK: java3d-1_3_1-windows-i586-directx-sdk.exe
+
+The installers will upgrade your most recently installed Java
+Runtime Environment and SDK.
+
+The Java 3D(TM) SDK includes several demo programs that can
+verify correct installation. Assuming your Java 2 SDK is installed
+at \j2sdk1.4.1, try the following:
+
+ cd \j2sdk1.4.1\demo\java3d\HelloUniverse
+ java HelloUniverse
+
+ Note: Many more demos are available under the demo\java3d\
+ directory. Some of the demos require a maximum memory
+ pool larger than the default in java. To increase the
+ maximum memory pool to 64 meg, add the following command
+ line options to java or appletviewer:
+ java: -mx64m
+ appletviewer: -J-mx64m
+
+#endif
+Java 3D(TM) consists of four jar files and three shared libraries.
+You do not need to include the jar files in your CLASSPATH,
+nor do you need to include the shared libraries in your PATH.
+You should include "." in your CLASSPATH or ensure that CLASSPATH
+is not set.
+
+Java 3D documentation and tutorials are available from the Java 3D(TM)
+Home Page: http://java.sun.com/products/java-media/3D/
+#if defined(WIN32OGL) || defined(SOLARIS)
+===============
+SHARED CONTEXTS
+===============
+
+This version of Java 3D is able to use shared contexts in OpenGL for Display
+Lists and Texture Objects. For single canvas applications, there will be no
+change in behavior. For multiple canvas applications, memory requirements
+will decrease by using this property. By default, this property is set
+to false. To enable the use of shared contexts set the j3d.sharedctx property
+to true, for example:
+
+ java -Dj3d.sharedctx=true MyProgram
+
+#endif
+#if defined(WIN32OGL)
+Some video cards, such as the Riva TNT & TNT2, have problems using shared
+contexts. If you are experiencing no rendering, crashes, or no textures
+being displayed when shared contexts are enabled, this is the most likely
+problem.
+
+=================
+Background Images
+=================
+
+The background image can be rendered in two modes: raster and texture. In windows,
+the default mode is texture and in Solaris, the default one is raster.
+The property j3d.backgroundtexture can be used to control which mode to use.
+If you are experiencing slow rendering of background images,
+you can change j3d.backgroundtexture property. For example, to enable
+texture mode if your have hardware support for texture rendering,
+
+ java -Dj3d.backgroundtexture=true MyProgram
+#endif
+
+======================
+Compiled Vertex Array
+======================
+
+Compiled Vertex Array extension is used in IndexedGeometryArray
+when it's USE_COORD_INDEX_ONLY flag is set and it is not in display list mode.
+You may disable the use of this extension by setting the new property,
+j3d.compliedVertexArray, to false.
+
+Compiled Vertex Array extension is used extensively, on SUN XVR-4000, for
+all GeometryArray type when display list mode is not used.
+You may disable the use of this extension by setting the new property,
+j3d.compliedVertexArray, to false.
+
+
+===========================
+Multisampling Antialiasing
+===========================
+
+By default, full scene antialiasing is disabled if a
+multisampling pixel format (or visual) is chosen.
+To honor a display drivers multisample antialiasing
+setting (e.g. force scene antialiasing), set the
+implicitAntialiasing property to true.
+This causes Java3D to ignore its own scene antialias
+settings, letting the driver implicitly implement the
+feature.
+
+ java -Dj3d.implicitAntialiasing=true MyProgram
+
+================================
+RUNNING JAVA 3D(TM) IN A BROWSER
+================================
+#if defined(WIN32OGL) || defined(WIN32D3D)
+You can run Java 3D(TM) programs in your browser. Java 2(TM)
+from Sun includes the Java Plug-In (JPI) to upgrade the Java(TM)
+in the browser to Java 2(TM). To verify proper installation,
+point your browser to file:/j2sdk1.4.1/demo/java3d/index.html
+
+If you are getting permission exceptions while running the Java 3D
+demo programs in your browser, it may be because of bug 4416056.
+
+First, upgrade your Java SDK to the latest release. The bug may
+have been fixed by the time you read this.
+
+To work around the problem, the path to your JRE must not
+contain spaces. By default, it does ("c:\Program Files\JavaSoft\. . .").
+The Java SDK installer automatically installs the JRE in
+c:\Program Files\JavaSoft, so you must run the installers in
+this order:
+ Java SDK installer
+ Java JRE installer (choose a directory with no spaces)
+ Java 3D SDK installer (will default to the correct directories)
+
+NOTE: Many Java 3D(TM) programs will require a larger heap size
+than the default 16M in the JPI. Run the Java Plug-In Control
+Panel from Start/Programs (JPI 1.2.2) or Start/Settings/Control
+Panel (JPI 1.3) and in "Java Run Time Parameters" put "mx64m"
+for 64M of heap memory.
+#elif defined(SOLARIS)
+Java 3D programs can be run in Netscape Communicator on Solaris
+with the Java(TM) Plug-IN (JPI) installed:
+
+ Solaris 8 includes Netscape and the JPI.
+
+ For Solaris 7 users, Netscape Communicator may be downloaded
+ for free from http://www.sun.com/solaris/netscape. Patches
+ may be required (see the website for details).
+
+ Netscape Communicator 6.0 automatically includes the JPI.
+
+ Java 1.3 and higher include the JPI. The Control Panel
+ will be at $JAVAHOME/jre/ControlPanel.html.
+
+ If you are using Solaris 7, Java 1.2.2, and Netscape 4.51, 4.7,
+ or 4.74, you need to download and install the JPI from
+ http://www.sun.com/solaris/netscape/jpis. NOTE: requires
+ membership to the JDC. More patches may be required
+ (see the website for details). If you install it in
+ the default location (/opt/NSCPcom) the control panel
+ will be at file:/opt/NSCPcom/j2pi/ControlPanel.html.
+
+You need to set the NPX_PLUGIN_PATH environment variable
+to the directory containing the JPI. For example, you you
+are using the JPI from Java 1.4.1 installed in /usr/j2se,
+do 'setenv NPX_PLUGIN_PATH /usr/j2se/jre/plugin/sparc'
+before starting Netscape. The default is /opt/NSCPcom.
+
+JDK 1.3.1 and higher have different plugin directories for
+Netscape 4.x vs. 6.0. For Netscape 4.x you need:
+ 'setenv NPX_PLUGIN_PATH /usr/j2se/jre/plugin/sparc/ns4'
+while for 6.0:
+ 'setenv NPX_PLUGIN_PATH /usr/j2se/jre/plugin/sparc/ns600'
+
+There is a bug in the Solaris JPI 1.2.2 that keeps it
+from finding Java extensions in the lib/ext/ directory
+where they are kept. If you are not using JPI 1.3, you need to
+copy the four .jar files from the lib/ext/ directory to the
+lib/ directory as follows:
+
+ cd $SDKHOME/jre/lib/ext
+ cp j3daudio.jar ..
+ cp j3dcore.jar ..
+ cp j3dutils.jar ..
+ cp vecmath.jar ..
+
+To verify proper installation, point your browser to
+file:///usr/j2se/demo/java3d/index.html
+
+If it seems like Java 3D isn't installed, make sure the JPI
+is using the JVM you've upgraded with Java 3D(TM). Run the
+JPI Control Panel and click on the "Advanced" tab to change
+the JVM associated with the JPI. Under "Java Run Time
+Environment" choose "Other..." and Enter the path to your
+JVM in the 'Path:' box (for example,
+/usr/j2se/jre). Press "Apply." (Note:
+choose the directory above the 'bin' directory.)
+
+NOTE: Many Java 3D(TM) programs will require a larger heap size
+than the default 16M in the JPI. In the Control Panel
+"Java Run Time Parameters" put "mx64m" for 64M of heap memory.
+#endif
+To create a web page with Java 3D, you need to use special HTML
+code to force the browser to use the JPI VM. Refer to the
+following URL for information on using Java Plug-In "HTML
+Converter" and running applets using Java Plug-in:
+
+ http://java.sun.com/products/plugin/
+
+====================================================
+DISTRIBUTING Java 3D(TM) WITH YOUR JAVA(TM) PROGRAMS
+====================================================
+
+Sun Microsystems allows vendors to distribute the Java 3D(TM) Runtime
+environment with their Java programs, provided they follow the terms
+of the Java 3D(TM) Binary Code License and Supplemental License Terms
+agreement.
+
+This document uses the term "vendors" to refer to licensees,
+developers, and independent software vendors (ISVs) who license and
+distribute Java 3D(TM) with their Java programs.
+
+REQUIRED vs. OPTIONAL FILES
+---------------------------
+Vendors must follow the terms of the Java 3D(TM) Evaluation License
+agreement, which includes these terms:
+
+ - Don't arbitrarily subset Java 3D(TM). You may, however, omit those
+ files that have been designated below as "optional".
+
+ - Include in your product's license the provisions called out
+ in the Java 3D(TM) Evaluation License.
+
+BUNDLING Java 3D(TM)
+--------------------
+Java 3D(TM) comes with its own installer that makes it suitable for
+downloading by end users. Java(TM) application developers have the
+option of not bundling Java 3D(TM) with their software. Instead,
+they can direct end-users to download and install the Java 3D(TM)
+software themselves.
+
+Required Files
+--------------
+#if defined(SOLARIS)
+When bundling Java 3D(TM) with your application, the following files
+must be included (Solaris):
+
+ <JREDIR>/lib/sparc/libJ3D.so
+ <JREDIR>/lib/sparc/libj3daudio.so
+ <JREDIR>/lib/sparc/libJ3DUtils.so
+ <JREDIR>/lib/ext/vecmath.jar
+ <JREDIR>/lib/ext/j3dcore.jar
+ <JREDIR>/lib/ext/j3daudio.jar
+ <JREDIR>/lib/ext/j3dutils.jar
+#elif defined(WIN32OGL) || defined(WIN32D3D)
+ <JREDIR>\bin\J3D.dll
+ <JREDIR>\bin\j3daudio.dll
+ <JREDIR>\bin\J3DUtils.dll
+ <JREDIR>\lib\ext\vecmath.jar
+ <JREDIR>\lib\ext\j3dcore.jar
+ <JREDIR>\lib\ext\j3daudio.jar
+ <JREDIR>\lib\ext\j3dutils.jar
+#endif
+Optional Files
+--------------
+
+An application developer may include these files and directories
+with their Java 3D(TM) application, but is not required to do so:
+#if defined(SOLARIS)
+ <JDKDIR>/j3d-utils-src.jar
+ <JDKDIR>/demo/java3d
+#elif defined(WIN32OGL) || defined(WIN32D3D)
+ <JDKDIR>\j3d-utils-src.jar
+ <JDKDIR>\demo\java3d
+#endif
+
+========================
+CHANGES SINCE 1.3
+========================
+
+============
+NEW FEATURES
+============
+
+ A set of new methods is added to the Viewer, a utility class, to
+ support dynamic video resize, specificially targeted for SUN
+ framebuffer : XVR-4000.
+ Dynamic video resize is a new feature in Java 3D 1.3.1.
+ This feature provides a means for doing swap synchronous resizing
+ of the area that is to be magnified (or passed through) to the
+ output video resolution. This functionality allows an application
+ to draw into a smaller viewport in the framebuffer in order to reduce
+ the time spent doing pixel fill. The reduced size viewport is then
+ magnified up to the video output resolution using the SUN_video_resize
+ extension. This extension is only implemented in XVR-4000 and later
+ hardware with back end video out resizing capability.
+
+
+
+=======================
+Constructing a Canvas3D
+=======================
+
+Many Java 3D programs pass null to the Canvas3D constructor. By doing
+this, Java 3D will select a default GraphicsConfiguration that is
+appropriate for Java 3D. However, this is a bad practice, and can lead
+to errors when applications try to run in alternate environments, such as
+stereo viewing. Java 3D will now print out a warning if the Canvas3D
+constructor is passed in a null argument for the GraphicsConfiguration.
+
+====================================
+Multipass Texture support limitation
+====================================
+If an application has setup more texture unit states than the graphics
+hardware can support, COMBINE mode will not be supported and Java 3D will
+fallback to the REPLACE mode.
+
+=========
+Utilities
+=========
+
+This release includes utilities for Java 3D. These utilities are still
+being defined and under development. Much of the source for these utilities
+is also provided. The API for these utilities may change in future releases.
+
+The following utilities are provided in this release:
+
+ - Some predefined Mouse based behaviors
+ - Picking utilities including predefined picking behaviors
+ - Geometry creation classes for Box, Cone, Cylinder, and Sphere
+ - A Text2D utility
+ - Universe Builders - SimpleUniverse and ConfiguredUniverse
+ - An Image Loading utility
+ - A Normal Generator utility
+ - A Polygon Triangulator utility
+ - Triangle stripifier
+ - Geometry compression utilities
+ - Spline-based path interpolators
+ - Wavefront .obj loader
+ - Lightwave 3D File Loader
+ - A scenegraph io utility
+ - A high resolution interval timer
+
+===================================
+Enabling Stereo with SimpleUniverse
+===================================
+
+The SimpleUniverse utility does not, by default, request a
+GraphicsConfiguration that is capable of Stereo rendering. To enable this,
+you need to set a property when running your application. Here is an
+example.
+
+java -Dj3d.stereo=PREFERRED MyProgram
+
+Some framebuffers only have one Z buffer and share this between the left
+and right eyes. If you are experiencing problems using stereo try the
+following property:
+
+java -Dj3d.stereo=PREFERRED -Dj3d.sharedstereozbuffer=true MyProgram
+
+#if defined(SOLARIS)
+=========================================================
+Support for disabling X11 Xinerama mode in Solaris OpenGL
+=========================================================
+
+Solaris OpenGL is well optimized in general for single-threaded applications
+running in the Xinerama virtual screen environment, but there are two
+situations in which significant degradations in graphics performance may be
+experienced by multi-threaded OpenGL clients such as Java 3D applications.
+
+The first is when using GeometryByReference, which is implemented through the
+use of OpenGL vertex arrays. This is essentially treated as immediate mode
+data by Solaris OpenGL, which in multi-threaded mode incurs the expense of
+copying data for multiple graphics pipelines even when a single window on a
+single screen is being used.
+
+The second is for applications using multiple Canvas3D objects. The X11
+Xinerama extension internally creates separate graphics resources on each
+physical screen for each window created on the virtual screen. This causes
+significant overhead for multi-threaded Solaris OpenGL clients.
+
+Java 3D provides a new property in this release, j3d.disableXinerama, which
+when set to true will disable the use of Xinerama features by Solaris OpenGL.
+This increases performance in the two situations up to 75%, equivalent to that
+of running in a non-Xinerama environment.
+
+The drawback of setting this property is that when moving a Canvas3D from one
+physical screen to another the graphics rendering will be clipped to the
+physical limits of the original screen on which it was created. The property
+is primarily intended to benefit fullscreen applications using multiple
+physical screens or fullscreen applications using GeometryByReference. To use
+it, specify the property value on the command line:
+
+ java -Dj3d.disableXinerama=true <args> <application class name> <args>
+
+Disabling Xinerama requires both JDK 1.4 or later and Solaris OpenGL 1.2.2 or
+later. Solaris 7 and 8 must be upgraded to the patch level required by JDK
+1.4.
+#endif
+#if defined(WIN32D3D)
+=====================================================
+Information on the Direct3D Implementation of Java 3D
+=====================================================
+
+ Unsupported Features
+ --------------------
+ The following features are currently unsupported in the Direct3D
+ implementation of Java 3D:
+ Line width
+ Line antialiasing
+ Point antialiasing
+ PolygonAttributes backFaceNormalFlip
+ RenderingAttributes ROP_XOR
+ Stereo
+
+ Texture features not support:
+ Texture color table
+ Base/Maximum Level
+ Max/Minimum LOD
+ LOD offset
+ Detail Texture
+ Sharpen Texture Function
+ Filter4 Function
+ Boundary width
+ Boundary mode CLAMP_TO_EDGE & CLAMP_TO_BOUNDARY
+ (will fall back to CLAMP)
+ Texture blend color when multiple pass is used
+ to simulate multiTexture.
+
+ Limited Support
+ ---------------
+ FullScreen antialiasing is supported only if the device returns
+ D3DPRASTERCAPS_ANTIALIASSORTINDEPENDENT in its raster capabilities
+ list. (OpenGL supports fullscreen antialiasing if an accumulation
+ buffer exists.)
+
+ TransparencyAttributes.TransparencyMode values FASTEST, NICEST and
+ SCREEN_DOOR are the same as BLENDED under D3D.
+
+ DepthComponent in certain display mode when stencil buffer
+ is selected (use for DecalGroup) since depth Buffer Component
+ Read/write can't coexist with Stencil buffer in DirectX8.0.
+
+ OffScreen rendering with width/height > current desktop size
+
+ Texture coordinates outside the range [0,1] when boundaryModeS
+ and boundaryModeT are set to CLAMP will not use the Texture Boundary'
+ color unless BASE_LEVEL_LINEAR filtering is turned on.
+
+ If the driver did not expose D3DPTADDRESSCAPS_BORDER capability bit
+ (viathe directX SDK utility Caps Viewer). Then it didn't support
+ Texture Border color mode. Default color as in Clamp mode will be
+ used in this case. Most driver currently available need to
+ workaround using reference mode (-Dj3d.d3dDevice=Reference).
+
+ if the driver did not expose D3DPMISCCAPS_LINEPATTERNREP capability
+ bit then it didn't support line patterns. A solid line will be shown
+ in this case. Most driver currently available need to workaround
+ using reference mode.
+
+ Only negative polygon offsets are supported. The limit of this offset
+ corresponds to the depth of the z-buffer.
+
+ Float anisotripic filter degree did not support. They will round off
+ to integer value and pass down to the DirectX library.
+
+ Texture environment combiner :
+
+ COMBINE_REPLACE - Support if driver expose TextureOpCaps
+ D3DTOP_SELECTARG1. Only combine scale 1 is support.
+ COMBINE_MODULATE - Support if driver expose TextureOpCaps D3DTOP_MODULATE,
+ D3DTOP_MODULATE2X, D3DTOP_MODULATE4X for scale 1, 2 & 4
+ respectively.
+ COMBINE_ADD - Support if driver expose TextureOpCaps D3DTOP_ADD,
+ only combine scale 1 is support
+ COMBINE_ADD_SIGNED - Support if driver expose TextureOpCaps D3DTOP_ADDSIGNED,
+ D3DTOP_ADDSIGNED2X for scale 1 & 2 respectively. Combine
+ scale 4 will fall back to 2.
+ COMBINE_SUBTRACT - Support if driver expose TextureOpCaps D3DTOP_SUBTRACT.
+ Only combine scale 1 is support.
+ COMBINE_INTERPOLATE - Support if driver expose TextureOpCaps D3DTOP_LERP.
+ Only combine scale 1 is support.
+ COMBINE_DOT3 - Support if driver expose TextureOpCaps
+ D3DTOP_DOTPRODUCT3 Only combine scale 1 is support.
+
+ Rendering Different between OGL & D3D
+ --------------------------------------
+ - SpotLight formula is different, OGL will normally have a bigger bright spot.
+
+ - TexCoordGeneration Sphere Map formula is different, OGL will normally
+ has texture map that zoom closer than D3D.
+
+ - Specular hightlight in Texture mapping mode may different. If OGL driver
+ support separate specular color, then resulting specular highlight in
+ texture are the same. Otherwise D3D verson will have a brighter and
+ more obviously specular highlight compare with OGL.
+
+
+ Fullscreen Support
+ ------------------------
+ The Direct3D implementation of Java 3D can be run in fullscreen mode.
+ To start an application in fullscreen mode, use the property j3d.fullscreen.
+ The values for j3d.fullscreen are:
+ REQUIRED - A fullscreen canvas is required. If not available, do not
+ start up the application.
+ PREFERRED - A fullscreen canvas is desired for this invocation of the
+ Java 3D application. If a fullscreen canvas cannot be
+ created, a windowed canvas is acceptable.
+ UNNECESSARY - States that a fullscreen canvas is not necessary for this
+ application. Create a windowed application (this is the
+ same behavior as not setting this property).
+
+ Example:
+ java -Dj3d.fullscreen=REQUIRED HelloUniverse
+
+ Further, an application can be toggled between fullscreen and windowed mode
+ by use of the <Alt><Enter> keyboard combination.
+
+ When using JDK1.4 fullscreen API with Java3D DirectX version, it is
+ necessary to set the following property :
+
+ -Dsun.java2d.noddraw=true
+
+ Direct3D Driver Selection
+ -------------------------
+
+ When there is more then one device associated with a
+ monitor, by default, Java 3D uses the first driver found
+ on a given display. This order can be found by
+ using the -Dj3d.debug=true property during Java startup.
+
+ In order to use a 3D only graphics card such as Voodoo1/2
+ A new property has been added
+
+ -Dj3d.d3ddriver=idx
+
+ where idx is the driver order number (starting with 1) found
+ using the debug property above. This will force Java 3D to use
+ the driver specified by the user (this may fail if the driver is
+ not compatible with the display). For a typical setup with a 3D
+ only card attached to a single monitor system, use idx=2. This
+ will automatically toggle to fullscreen hardware acceleration mode.
+
+
+ Direct3D Device Selection
+ -------------------------
+ In order to aid in development and debugging, Java 3D has added a property
+ to allow the D3DDevice to use for rendering to be selected. The property,
+ j3d.d3ddevice can have the following values:
+ tnlhardware - select a device that supports transform and lighting in
+ hardware, if present. If no such device is present,
+ a dialog box is displayed to alert the user and the
+ application will exit.
+ hardware - select a Direct3D device that performs hardware
+ rasterization, if present. If no such device is present,
+ a dialog box is displayed to alert the user and the
+ application will exit.
+ reference - use the Direct3D reference pipeline (only available if
+ the Direct3D SDK is installed).
+
+ By default Java 3D first tries to select a TnLhardaware device, if that fails
+ a Hardware device, if that also fails then finally Java 3D selects an
+ Emulation device.
+
+
+ Ignored Java 3D Properties
+ --------------------------
+ The following Java 3D properties are ignored by the Direct3D implementation:
+ j3d.sharedctx
+ j3d.stereo
+ j3d.sharedstereozbuffer
+ j3d.g2ddrawpixel
+ j3d.usecombiners
+ j3d.disableSeparateSpecular
+ j3d.backgroundtexture
+ j3d.disableXinerama
+#endif
+
+===================================================
+Information on Java 3D Audio Device Implementations
+===================================================
+
+Java 3D sound is rendered via the use of a specific implementation
+of the AudioDevice3D interface. This release includes two AudioDevice3DL2
+implementations: HeadspaceMixer and JavaSoundMixer. Both of these
+implementations are included in the j3daudio.jar.
+
+Please read README.release in program examples Sound directory for details
+regarding the feature and format limitations of each of these implementations
+and for examples of these use.
+
+=============================================
+HeadspaceMixer AudioDevice3DL2 Implememtation
+=============================================
+
+ The HeadspaceMixer implementation is part of the Sun Java 3D
+ com.sun.j3d.audioengines.headspace package. This implementation
+ uses a version of the Headspace Audio Engine licensed from Beatnik
+ which does all rendering in software and pipes the stereo audio image
+ to the platform's audio device.
+
+ The implemention that was called JavaSoundMixer in previous Sun
+ releases of Java 3D has been renamed to HeadspaceMixer.
+ It was renamed in anticipation of the release of a new AudioDevice
+ implementation that uses the JavaSound API which will be called
+ JavaSoundMixer (described below).
+
+ The HeadspaceMixer audio device will be created and initialized when the
+ utility SimpleUniverse.Viewer.createAudioDevice() method is called.
+ If your application uses this utility, no change will be required to
+ use the recommended HeadspaceMixer implementation.
+
+ If your application explicitly used the older JavaSoundMixer audio device
+ implemention from the package com.sun.j3d.audioengines.javasound, you should
+ change the reference to JavaSoundMixer, at least for this release,
+ to HeadspaceMixer:
+
+ import com.sun.j3d.audioengines.headspace.HeadspaceMixer;
+ :
+ HeadspaceMixer mixer = new HeadspaceMixer(physicalEnvironment);
+
+ Most of the Java 3D Audio features have been implemented but there are
+ a few exceptions. Additionally, some Java 3D Audio features are only
+ only partially implemented. Please read the README.release document in
+ programs/examples/Sound for more information.
+
+ Note that the HeadspaceMixer is not supported in the 64 bit Solaris
+ version of Java 3D.
+
+=============================================
+JavaSoundMixer AudioDevice3DL2 Implememtation
+=============================================
+
+ The JavaSoundMixer implementation is part of the Sun Java 3D
+ com.sun.j3d.audioengines.javasound package. This implementation uses
+ the Java Sound API. All low-level access to the platforms audio device
+ are dependent on the Java Sound mixer implementation(s) installed on
+ the machine you're running on.
+
+ The JavaSoundMixer Java 3D audio device implementation uses Java Sound
+ SourceDataLine streams for non-cached data and Java Sound Clips for
+ cached data. Support for specific sound cards, the exact input formats
+ that can be passed as data to Java 3D MediaContainers, and which feature
+ are rendered in software verses accelleration hardware is dependent on
+ the Java Sound implementation installed on your machine.
+ There is guarenteed to be at least one Java Sound mixer implementation
+ available with all J2SE releases (such as Sun's JDK 1.3 and above).
+ Please read the README.release document in programs/examples/Sound.
+
+==========
+BUGS FIXED
+==========
+
+Core Graphics and Vecmath
+-------------------------
+4685686 Apps Particles sometimes throws ArrayOfBoundsException at GeometryArrayRetained
+4794994 Memory leak when SharedGroup removed
+4792478 ArrayIndexOutOfBoundsException with two ViewSpecificGroups with Lights
+4793926 Incorrect collison report when geometry close to each other
+4794382 NullPointerException if SharedGroup not set in Link under SwitchGroup
+4798443 RenderBin findOrderedCollection throws IndexOutOfBoundsException
+4800640 D3D: Garbage line appear in TexCubeMap negative & postive Y surface
+4805797 View setLocalEyeLightingEnable() does not work
+4807209 View setMinimumFrameCycleTime() fail to free CPU time for other applications
+4809037 OGL: glLockArrayEXT() should invoke after vertex pointer defined
+4826575 J3D fail to run on JDK1.5
+4829457 Missing object when lighting change in SDSC ExHenge
+4829458 Texture stage fail to disable in accelerated mode for multiTexture apps
+4836232 TextureUnitState setTextureAttributes() & setTexCoordGeneration() may not work
+4838311 D3D: TextureAttributes in texture stage need to reset for multitexture
+4839757 OGL: Incorrect rescale normal extension use for non-uniform scale
+4840952 TransformGroupRetained throws NullPointerException if sharedGroup link set null
+4843212 AWTEvent disable if canvas remove from panel and add back later after SG Live
+4843221 GraphicsContext3D flush(true) hangs for non-visible Canvas3D
+4846822 NullPointerException in MasterControl addFreeImageUpdateInfo
+
+Utilities
+---------
+
+4331669 setRectangleScaleFactor will not change text size unless setString called (doc?)
+4780878 ConfiguredUniverse needs a way to access multiple behaviors
+4801176 Sphere Texture map reverse when GENERATE_NORMALS_INWARD is used
+4803241 EdgeTable & Edge.java use by NormalGenerator missing in java3d-utils-src.jar
+4822946 Picking throws NullPointerException for BoundingBox/Sphere/Polytope PickShape
+4822988 SceneGraphIO throws NullPointerException when Morph Node is read
+4827900 TransformInterpolatorState source missing in j3d-utils-src.jar
+4830842 Triangulator fails for polygons with holes in YZ or XZ plane
+
+==============
+KNOWN PROBLEMS
+==============
+
+To get the very latest list of known Java 3D bugs, look on the Java
+Bug Parade (http://developer.java.sun.com/developer/bugParade/index.html)
+
+Documentation Bugs
+------------------
+
+4303056 Docs should specify thread-safety behavior of Java 3D methods
+4350033 JFTC: possible conflict between implementation and spec on PolygonOffset
+4391492 Rotation matrix of Transform3D constructor not extract
+4514880 results of changing geometry and texture are not well documented
+4632391 Typo in doc j3d_tutorial_ch2.pdf
+4698350 Spec. did not mention alpha component for Texture Mode REPLACE, MODULATE clearly
+
+Core Graphics and Vecmath
+-------------------------
+
+4509357 example program - raster image incorrect until mouse moved into window
+4512179 Undeterminable behavior caussed by Appearance.setTexture
+4516005 AddRemoveCanvas2 fail to show cube intermittently
+4518080 Light scoping sometimes not working for compiled geometry
+4529297 TCK: Group.removeAllChildren() inconsistent with expected behavior
+4667088 sas applications gets VerifyError running with 64-bit JVM
+4669211 SharedGroup.getLinks().length is always zero for non-live Link node.
+4674146 Background texture fail to render for RenderedImage and byref ImageComponent2D
+4674843 ImageComponent3D byReference always make an internal copy
+4676035 Off screen rendering has off-center view
+4676483 Geometry by Reference change alpha color component of user data
+4680305 Detaches of SharedGroups from user threads is not Mt-Safe
+4681750 Texture3D throws ArrayIndexOutOfBoundsException when scaleImage
+4681863 OGL: OffScreen canvas ignore GraphicsConfigTemplate under windows
+4684405 j3d holds a reference to user's bounds (via setBounds()) for use in getBounds().
+4684807 NullPointerException in NodeComponent during setAppearance()
+4686527 Deadlock between MasterControl and user thread when using ByRef updateData()
+4697155 ByRef USE_COORD_INDEX_ONLY geometry not yet implement for optimizeForSpace=false
+4701430 Infrequent NPE at RenderBin.java:544
+4705053 OrientedPtTest example program displays frame lag
+4712205 Window panels disappear when BranchGroup.compile() is used.
+4714426 compile() removes null child eventhough ALLOW_CHILDREN_READ is set.
+4720938 IndexedGeometry shouldn't consider vertex not reference by index in computeBound
+4736484 Big alpha value in byRefColor render geometry even though transparency = 1.0
+4740086 Picking cause lots of GC in PickShape intersect() routine
+4751162 View TRANSPARENCY_SORT_GEOMETRY throws NullPointerException when viewpoint move
+4751283 Transform3D.normalize() and Matrix4d.get(Matrix3d) permute matrix columns
+4753957 Morph only consider first GeometryArray when compute bounds
+4762021 Transform3D setScale() fail to return negative scale in some case
+4762753 Precision problem of OrientedShape3D.ROTATE_ABOUT_POINT if far away from origin
+4768237 RuntimeException in pickIntersection.getPointNormal()
+4768353 JBrawl does not run smoothly with > 2 cpus
+4774341 Locale need a wait between changing HiRes and adding branch graph
+4782718 NPE if boundingLeaf in SchedulingBoundLeaf not attach to scenegraph
+4783638 WakeupOnAWTEvent does not support MouseWheelEvent
+4789101 J3D.dll is accessing jniGetObjectClass inside the critical region
+4790016 PickObject generatePickRay return wrong PickShape if View compatibility enable
+4794998 hashKey output TROUBLE message when OutOfMemory
+4828096 Morph doesn't work correctly with Java3D 1.3
+4828098 Morph doesn't use its weights, when it was cloned with cloneTree()
+
+Sound
+-----
+
+4634751 BackgroundSound fails to activates with the view intersects it's bounds.
+4680280 JavaSoundMixer play sound only once
+4760772 BackgroundSounds not looping with HeadspaceMixer mixer
+
+Utility Bugs
+------------
+
+4717595 SceneGraph IO bug in J3DFly
+4718786 Incorrect coefficients in CubicSplineSegment computeCommonCoefficients()
+4805076 Transform3D.get(Matrix3f ) occasionally returns incorrect values
+
+#if defined(SOLARIS)
+Solaris-specific Bugs
+---------------------
+none
+#elif defined(WIN32OGL)
+Windows/OGL-specific Bugs
+---------------------
+none
+
+#elif defined(WIN32D3D)
+Direct3D specific Bugs
+----------------------
+ Problem in the NVidia GForce
+ -----------------------------
+ Make sure you have the latest driver from http://www.nvidia.com/
+
+ ModelClip did not work under DirectX8.0 debug build, use
+ Eumulation mode to workaround this.
+#endif