Proposed Java 3DTM 1.4 API Changes

This page highlights the proposed changes to the 1.4 version of the Java 3DTM API. For a list of new classes methods, etc., see the List of Proposed Java 3D 1.4 API Changes. Click here for the latest javadocs for the proposed 1.4 API (built from the dev-1_4 branch). A list of other possible improvements to Java 3D version 1.4 is also available.

I. High Priority Features

This list of high priority features will almost certainly make it into the 1.4 API.

1. Programmable shaders

The addition of shaders to the Java 3D API is the primary focus for the 1.4. For more information see the Programmable Shaders in Java 3D 1.4 page.

2. Scene graph structure change listeners

We propose to add a notification mechansim for scene graph structure changes: additions, deletions, and moves of branch graphs to/from a live scene graph. We propose adding add/removeGraphChangeListener(GraphChangeListener) methods to VirtualUniverse and a new GraphChangeListener interface with graphAdded, graphRemoved, and graphMoved methods that get called when any branch graph is added (attached), removed (detached), or moved, respectively.

3. Miscellaneous features

This is a list of miscellaneous features that we propose to add to the API.

4. List of features to deprecate

This is a list of miscellaneous features that we propose to deprecate in the API.

Note that none of these features will actually be removed. It instead reflects a decrease of emphasis on these features. While they should continue to function normally, no additional effort is likely to be put into them (for example, compressed geometry will not be supported with programmable shaders). This action paves the way to remove them from a future major release (e.g., a 2.0 release).

II. Medium Priority Features

This list of medium priority features is under discussion for possible inclusion into the 1.4 API.

1. Render to texture

DESCRIPTION FOR POSSIBLE RENDER-TO-TEXTURE SUPPORT GOES HERE...

2. Stencil buffer support

DESCRIPTION FOR POSSIBLE STENCIL SUPPORT GOES HERE; NOTE THAT THIS WILL NOT INCLUDE ANY MULTIPASS EFFECTS for 1.4...

3. Move picking into core

We should consider moving some of the picking utilities (e.g., PickCanvas and PickResult) into the core API. Before doing this, we would need to scope out the effort involved, and assess the potential benefit.

4. Lightweight Canvas3D (e.g., JCanvas3D)

We should consider adding a lightweight JCanvas3D that is similar to JGLCanvas in JOGL. Adding this into core may be beyond the scope of 1.4. Probably can be done as a utility, although it may require some core changes. Note: this feature will not happen without an someone from the community volunteering to drive it.

5. Miscellaneous features

This is a list of miscellaneous features that are being considered for addition to the API.

6. List of features to deprecate

This is a list of miscellaneous features that are being considered for deprecation in the API.

These are in addition to the API being proposed for deprecation in section I.

III. Future Features

Here is an unprioritized list of possible features under consideration for a future (e.g., 1.5/2.0) version of the Java 3D API.

Page last updated — $Date$