From 908d0fbb2ea26226165cd42f12abf0d27e4a3f53 Mon Sep 17 00:00:00 2001 From: Kevin Rushforth Date: Fri, 29 Sep 2006 18:04:13 +0000 Subject: Merged dev-1_5 branch back to MAIN trunk git-svn-id: https://svn.java.net/svn/j3d-core~svn/trunk@701 ba19aa83-45c5-6ac9-afd3-db810772062c --- docs/ChangeLog-1_5.html | 244 +++++++++++++++++++++++++++++++++++++++++++++++ docs/api-changes-1_5.txt | 133 ++++++++++++++++++++++++++ 2 files changed, 377 insertions(+) create mode 100644 docs/ChangeLog-1_5.html create mode 100644 docs/api-changes-1_5.txt (limited to 'docs') diff --git a/docs/ChangeLog-1_5.html b/docs/ChangeLog-1_5.html new file mode 100644 index 0000000..a69ab59 --- /dev/null +++ b/docs/ChangeLog-1_5.html @@ -0,0 +1,244 @@ + + + + + Java 3D 1.5 Change Log + + +

Java 3D API version 1.5 Change Log

+

Here are the proposed changes for Java 3D version 1.5. These +proposed changes are a results of discussion and collaboration with the +Java 3D community on java.net (see +https://java3d.dev.java.net). +They are already part of daily and periodic stable builds available on +java.net.

+

I. Proposed Changes
+

+

Here is the list of proposed changes for the Java 3D 1.5 API:
+

+
    +
  1. Non-power-of-two textures
  2. +
  3. NIO image buffer support for textures
  4. +
  5. By-reference support for geometry +indices
  6. +
  7. Rendering error listeners
    +
  8. +
  9. Vecmath accessors/mutators
  10. +
  11. Deprecated API
  12. +
+

For a complete description of these changes, please see the +proposed API specification (javadoc) for the 1.5 version of the +Java 3D API. +

+

1. Non-power-of-two textures

+

We propose to add non-power-of-two textures to Java 3D 1.5. +Currently, the width, height, and depth of all textures must be an +exact power of two. Most graphics cards now support non-power-of-two +textures, so we propose to allow this in Java 3D. Since not all +graphics drivers support this feature, we will add a new +"textureNonPowerOfTwoAvailable" property to +Canvas3D.queryProperties that will indicate whether or not +non-power-of-two textures are supported. If this +property is set to true, then non-power-of-two textures +are rendered normally. If this property is set to false, +then the graphics driver or card does not support non-power-of-two +textures; texture mapping will be disabled if non-power-of-two +textures are rendered on a Canvas3D that doesn't support them.
+

+


+

+

2. NIO image buffer support for +textures

+

We propose to create a new javax.media.j3d.NioImageBuffer class, a +wrapper for an image whose DataBuffer +is specified via an appropriate subclass of java.nio.Buffer: +ByteBuffer or IntBuffer, +depending on the type of image. When using IntBuffer, +the byte order of the buffer must match the native byte order of the +underlying platform. +

+

New public classes:
+

+ +

New constructors and methods:
+

+ +


+

+

3. By-reference support for geometry +indices
+

+

We propose to add support for setting the coordinate indices +of IndexedGeometryArray objects "by-reference". Currently, the +coordinate indices array is +set "by-copy" even for by-reference geometry, resulting in excessive +memory usage. Though the +excess memory usage is temporary, since it happens only at the time +of creating an internal copy of the user-specified indices array, +nevertheless it can turn out to be of significant concern especially +for very large geometries or for dynamically changing geometry. The +fact that the +graphics drivers have long supported this feature makes the +incorporation of this feature attractive, as +it entails no special hardware support.
+

+

New fields and methods:
+

+ +


+

+

4. Rendering error listener

+

We propose to add a rendering error class and error listener +interface that applications can use to detect rendering errors that are +caught by the Java 3D rendering system. The default error listener, if +no user-specified error listeners are added, prints out the error +message and exits.
+

+

The following new classes and interfaces are proposed:

+ +

The following new methods are proposed:

+ +


+

+

5. Vecmath +accessors/mutators

+

We propose to add accessors and mutators to all vecmath classes with +publicly accessible fields. This follows the bean pattern, and allows +these classes to be read and written by bean-aware tools, for example, +the XMLEncoder. The following +classes need public accessors and mutators (e.g., setX(), getX(), +setY(), and so forth):
+

+ +


+

+

6. Deprecated API

+

We propose to deprecate the following fields and methods relating to +the obsolete texture functionality. +

+ +


+

+

+

+

II. Accepted Changes

+


+

+

III. Deferred Changes

+


+

+ + diff --git a/docs/api-changes-1_5.txt b/docs/api-changes-1_5.txt new file mode 100644 index 0000000..d564e36 --- /dev/null +++ b/docs/api-changes-1_5.txt @@ -0,0 +1,133 @@ +------------------------------------------------------------------------ +$RCSfile$ +$Revision$ +$Date$ +------------------------------------------------------------------------ +This document conatains proposed API changes to the Java 3D 1.5 API +that deviate from the 1.4 API. + +This file must be updated to record the addition or deprecation of any +public or protected class, interface, field, constructor, or method to +the Java 3D API. + +The one exception to this rule is that you don't need to update this +file when adding a non-final (i.e., virtual) method to a class if that +method--with exactly the same signature--already exists in a +superclass. For example, adding a "toString" method to a j3d object +doesn't require an entry in this file. Likewise, adding duplicateNode +or cloneNode methods to Node subclasses doesn't require an entry in +this file. + +No incompatible changes to the Java 3D 1.4 API are allowed. + + +I. New/deprecated fields, constructors, methods + + ImageComponent + -------------- + New enums: + public enum ImageClass { + BUFFERED_IMAGE, RENDERED_IMAGE, NIO_IMAGE_BUFFER + } + + + New methods: + public ImageClass getImageClass() + + + Deprecated methods: + public void setYUp(boolean yUp) + + + ImageComponent2D + ---------------- + New constructors: + public ImageComponent2D(int format, NioImageBuffer image, + boolean byReference, boolean yUp) + + New methods: + public void set(NioImageBuffer image) + public NioImageBuffer getNioImage() + + + ImageComponent3D + ---------------- + New constructors: + public ImageComponent3D(int format, NioImageBuffer[] images, + boolean byReference, boolean yUp) + + New methods: + public void set(NioImageBuffer[] images) + public void set(int index, NioImageBuffer image) + public NioImageBuffer[] getNioImage() + public NioImageBuffer getNioImage(int index) + + + Texture2D + --------- + Deprecated fields: + public static final int ALLOW_DETAIL_TEXTURE_READ + public static final int LINEAR_DETAIL + public static final int LINEAR_DETAIL_RGB + public static final int LINEAR_DETAIL_ALPHA + public static final int DETAIL_ADD + public static final int DETAIL_MODULATE + + Deprecated methods: + public void setDetailImage(ImageComponent2D detailTexture) + public ImageComponent2D getDetailImage() + public void setDetailTextureMode(int mode) + public int getDetailTextureMode() + public void setDetailTextureLevel(int level) + public int getDetailTextureLevel() + public void setDetailTextureFunc(float[] lod, float[] pts) + public void setDetailTextureFunc(Point2f[] pts) + public int getDetailTextureFuncPointsCount() + public void getDetailTextureFunc(float[] lod, float[] pts) + public void getDetailTextureFunc(Point2f[] pts) + + + GeometryArray + ------------- + New fields: + public static final int BY_REFERENCE_INDICES + + + IndexedGeometryArray + -------------------- + New methods: + public void setCoordIndicesRef(int coordIndices[]) + public int[] getCoordIndicesRef() + + + VirtualUniverse + --------------- + New methods: + public static void addRenderingErrorListener( + RenderingErrorListener listener) + public static void removeRenderingErrorListener( + RenderingErrorListener listener) + + +II. Reparented classes + + +III. New classes and interfaces (in javax.media.j3d) + + NioImageBuffer + -------------- + public class NioImageBuffer extends Object + + + RenderingError + -------------- + public class RenderingError extends Object + + + RenderingErrorListener + ---------------------- + public interface RenderingErrorListener + + +IV. Deprecated classes and interfaces (in javax.media.j3d) + -- cgit v1.2.3