## Java 3DTM 1.5.0-beta1 Pre-Release Notes

This file contains important pre-release information for users of the Java 3DTM API, version 1.5.0-beta1.

System Requirements (Solaris Sparc, Solaris x86, Linux, Windows, Mac OS X)
Improvements in 1.5.0
JOGL Rendering Pipeline
More Information

Click here for instructions on how to install this patch release of Java 3D version 1.4.0_01.

NOTE: We recommend that you uninstall all previous versions of Java 3D before installing this version.

### System Requirements

The 1.5.0-beta1 version of the Java 3D API has been released for Solaris (both sparc and x86/amd64), Linux (both x86 and amd64), Windows (both x86 and amd64), and Mac OS X (both PPC and x86).

#### Solaris Sparc

The 1.5.0-beta1 version of Java 3D for Solaris SPARC requires the following:

- JDK 1.5.0 or later from Sun Microsystems: http://java.sun.com/j2se/
- Solaris 9 or later
- Frame Buffer with OpenGL 1.3 support (XVR-600, XVR-1200, Expert3D, etc.)
- OpenGL 1.3 for Solaris or later. To find your current version, use: "`pkginfo -l SUNWglrt`". OpenGL for Solaris can be obtained at: http://www.sun.com/software/graphics/opengl/

#### Solaris x86

The 1.5.0-beta1 version of Java 3D for Solaris x86/amd64 requires the following:

- JDK 1.5.0 or later from Sun Microsystems: http://java.sun.com/j2se/
- Solaris 10 or later
- NVIDIA Frame Buffer with OpenGL 1.3 or later

#### Linux

The 1.5.0-beta1 version of Java 3D for Linux (x86 or amd64) requires the following:

- JDK 1.5.0 or later from Sun Microsystems: http://java.sun.com/j2se/
- Graphics adapter with driver that supports the GLX extension: GLX 1.3 or later and OpenGL 1.3 or later

#### Windows

The 1.5.0-beta1 version of Java 3D for Windows 2000, and Windows/XP (x86 or amd64) requires the following:

- JDK 1.5.0 or later from Sun Microsystems: http://java.sun.com/j2se/
- Windows 2000 or Windows/XP
- Support for either OpenGL or DirectX as shown below.

OpenGL version

The (default) OpenGL renderer of Java 3D requires OpenGL 1.3 or later, available from your graphics card manufacturer.

DirectX version

The (optional) DirectX renderer of Java 3D requires DirectX 9.0 or later, which is available from Microsoft at: http://www.microsoft.com/windows/directx/ . The DirectX version of Java 3D is selected by setting the "`j3d.rend`" system property to "`d3d`", for example:

`java -Dj3d.rend=d3d ClassName`

The DirectX rendering pipeline is not available in 1.5.0-beta1. We plan to deliver a beta version in 1.5.0-beta2.

#### Mac OS X

The 1.5.0-beta1 version of Java 3D for Mac OSX (PPC or x86) requires the following:

- JDK 1.5.0 or later from Apple: http://developer.apple.com/java/download/
- Java Binding for OpenGL (JOGL), available at: https://jogl.dev.java.net/
  you can click here for a direct link to the download folder
- Apple OS X 10.3 or later (10.4 or later is required for Intel-based Apple systems)
- Support for OpenGL 1.3 or later

### Improvements in 1.5.0-beta1

#### New Features / Enhancements

- JOGL Rendering Pipeline
- Non-power-of-two textures
- NIO image buffer support for textures
- By-reference support for geometry indices
- Rendering error listeners
- Vecmath accessors/mutators

#### Issues Fixed

Issue |  | Description
--- | --- | ---
40 |  | Transparency color not correct on UCIO geometry and OffScreen canvas
75 |  | Memory leak in SetLiveState when branchGroup remove
85 |  | Optimize the downloading of ARGB textures
92 |  | ImageComponent2D.setSubImage() uses incorrect image sizes
93 |  | ImageComponent2D.setSubImage() does not correctly update the display
113 |  | NPE in updateAlphaInVertexData on multiple screens
121 |  | Stop using finalize() to clean up state
123 |  | Reduce or eliminate use of memory free lists
147 |  | Need Windows/amd64 port of Java 3D
152 |  | NPE in updateNodeComponent
160 |  | AlternateAppearance behaves defferently in J3D 1.3.2 comparing to J3D 1.3.1
172 |  | Texture.setImage fails to check ImageComponent sizes when not live
180 |  | Frame-dependent Large Texture Updates leads to OOM Exception
194 |  | Provide NIOBuffer texture components
198 |  | Need more shader example programs
209 |  | PolygonAttributes.isCompiled() returns false after the scenegraph's BranchGroup is compiled.
216 |  | J3DTimer should use clock_gettime on Linux
219 |  | Add support for Non Power of Two textures
220 |  | Matrix3d.set(AxisAngle4d) sets incorrectly if axis vector not normalized
221 |  | UnsatisfiedLinkError if shading language set to Cg on d3d
224 |  | NPE While Toggling Visibility
225 |  | BY_REF Support for CoordinateIndices To Reduce Memory Bloat
229 |  | Need to implement JOGL renderer
235 |  | Null Pointer in AttributeBin
240 |  | Canvas3D.queryProperties reports stencil available even when it is not
241 |  | Texture3D by Reference Fails
244 |  | ClassCastException in Group.setChild
245 |  | Problem with ALLOW_RENDERING_ATTRIBUTES_WRITE in Appearance
246 |  | Move compressed geometry code from core to utils
247 |  | SHADER_ATTRIBUTE_TYPE_ERROR is fired when ShaderAttributeArray is used (OpenGL and GLSL shaders used)
248 |  | Wrong spec. on the setFlags() method of com.sun.j3d.utils.pickfast.PickTool
249 |  | NullpointerException in MasterControlThread when adding a Light
251 |  | Typo, in spec. PickTool.PickAny and PickTool.PickClosest return is wrong
253 |  | Transform3D's incorrectly identified as Affine
260 |  | Obsolete graphics library version kills renderer thread, cannot be detected by app
264 |  | Behaviors that throw an Error cause the BehaviorScheduler to die
266 |  | Canvas3D should throw NPE by default for null graphicsConfig
268 |  | Replace native getNumberOfProcessor() with pure Java equiv?
269 |  | GLSL on nVidia cards: Confict of a builtin vertex attribute (named gl_Normal) and a bound generic vertex attribute
275 |  | sleep for setMinimumFrameCycleTime should not hold lock
279 |  | Intermittent hang in MasterControl while running lg3d
283 |  | Add Eclipse plugin defs to manifest
288 |  | Objects in RenderBin free lists keep reference to user data
308 |  | WakeupOnElapsedTime occasionally doesn't wake up on elapsed time
311 |  | Broken build for linux on ppc.
313 |  | Geometry Stress Test results in OOM Error
318 |  | Cannot build on Itanium Linux
320 |  | Shader Appearance update is asynchronous to transform update
321 |  | bug in vecmath.Matrix3d.set(AxisAngle a1)
323 |  | Deprecate optional detail texture functionality
325 |  | This Tuple4d is epsilonEquals to all others: (NaN, NaN, NaN, NaN)
326 |  | PrintCanvas3D on JOGL pipeline crashes on Linux and Solaris
327 |  | javadoc for VIew class doesn't list correct clip policy defaults
328 |  | JOGL pipeline : Geometry fails to render in Cosmic Birdie
331 |  | Add .cvsignore file to root of vecmath.
338 |  | Bug in glPushAttrib usage in NativePipeline
339 |  | Java crashes when using GLSL shaders
340 |  | Resource leak in setOffScreenBuffer, NPE in JOGL pipeline
342 |  | Raster.setDstOffset() set the destination pixel offset in opposite direction
347 |  | OffScreen Canvas3D always reloads textures, display lists
348 |  | Programmable shaders do not work for OffScreen Canvas3D

### JOGL Rendering Pipeline

A JOGL rendering pipeline, as described in issue 229, is now available on all supported platforms, including Apple Mac OSX (x86 or PPC). The easiest way to run Java 3D applications using the JOGL pipeline is via Java Webstart from your browser (with no setup required). Click here and go to the "Early access test program" section at bottom of the page to run a Java 3D example program from your browser via the JOGL pipeline. These examples will use JOGL on Mac OSX and the native OpenGL pipeline on all other platforms.

The JOGL renderer is the default on Mac OSX. You can select the JOGL renderer on other platforms by setting the "`j3d.rend`" system property to "`jogl`", for example:

`java -Dj3d.rend=jogl ClassName`

You will need to download JOGL and install it into the JRE along with the Java 3D jar files (or include it in your PATH/CLASSPATH).

### More Information

For the latest information on Java 3D, see the main Java 3D project page on java.net.

Click here for a list of open issues.