File java-3d-nojavah.patch of Package java-3d

--- java3d-1.5.2/j3d-core/src/classes/build.xml	2018-01-10 11:36:06.373594244 +0100
+++ java3d-1.5.2/j3d-core/src/classes/build.xml	2018-01-10 11:36:32.369594343 +0100
@@ -44,7 +44,7 @@
 
     <!-- Compile the java code from ${src} into ${build}/${platform}/debug/classes -->
     <javac srcdir="${src}/classes/share:${src}/classes/${wstype}:${jogl.pipeline.srcdir}:${core_utils_src}/classes/share:${build-debug-gen}/classes"
-           destdir="${build}/${platform}/debug/classes"
+           destdir="${build}/${platform}/debug/classes" nativeheaderdir="${build}/${platform}/native/javah/j3dcore"
 	   debug="true"
            deprecation="off"
            excludes="${javac.excludes}">
@@ -90,7 +90,8 @@
     </copy>
 
     <!-- Compile the java code from ${src} into ${build}/${platform}/opt/classes -->
-   <javac srcdir="${src}/classes/share:${src}/classes/${wstype}:${jogl.pipeline.srcdir}:${core_utils_src}/classes/share:${build-opt-gen}/classes"            destdir="${build}/${platform}/opt/classes"
+   <javac srcdir="${src}/classes/share:${src}/classes/${wstype}:${jogl.pipeline.srcdir}:${core_utils_src}/classes/share:${build-opt-gen}/classes"
+           destdir="${build}/${platform}/opt/classes" nativeheaderdir="${build}/${platform}/native/javah/j3dcore"
            debug="true"
            debuglevel="lines,source"
            deprecation="off"
--- java3d-1.5.2/j3d-core/src/classes/share/javax/media/j3d/Canvas3D.java	2018-01-10 11:36:13.377594271 +0100
+++ java3d-1.5.2/j3d-core/src/classes/share/javax/media/j3d/Canvas3D.java	2018-01-10 12:42:58.949817668 +0100
@@ -34,6 +34,7 @@
 import javax.vecmath.*;
 import java.awt.*;
 import java.awt.image.BufferedImage;
+import java.lang.annotation.Native;
 import java.util.*;
 
 
@@ -289,50 +290,50 @@
      * Specifies the left field of a field-sequential stereo rendering loop.
      * A left field always precedes a right field.
      */
-    public static final int FIELD_LEFT = 0;
+    @Native public static final int FIELD_LEFT = 0;
 
     /**
      * Specifies the right field of a field-sequential stereo rendering loop.
      * A right field always follows a left field.
      */
-    public static final int FIELD_RIGHT = 1;
+    @Native public static final int FIELD_RIGHT = 1;
 
     /**
      * Specifies a single-field rendering loop.
      */
-    public static final int FIELD_ALL = 2;
+    @Native public static final int FIELD_ALL = 2;
 
     // 
     // The following constants are bit masks to specify which of the node
     // components are dirty and need updates.
     // 
     // Values for the geometryType field.
-    static final int POLYGONATTRS_DIRTY      = 0x01;
-    static final int LINEATTRS_DIRTY         = 0x02;
-    static final int POINTATTRS_DIRTY        = 0x04;
-    static final int MATERIAL_DIRTY          = 0x08;
-    static final int TRANSPARENCYATTRS_DIRTY = 0x10;
-    static final int COLORINGATTRS_DIRTY     = 0x20;
+    @Native static final int POLYGONATTRS_DIRTY      = 0x01;
+    @Native static final int LINEATTRS_DIRTY         = 0x02;
+    @Native static final int POINTATTRS_DIRTY        = 0x04;
+    @Native static final int MATERIAL_DIRTY          = 0x08;
+    @Native static final int TRANSPARENCYATTRS_DIRTY = 0x10;
+    @Native static final int COLORINGATTRS_DIRTY     = 0x20;
 
     // Values for lightbin, env set, texture, texture setting etc.
-    static final int LIGHTBIN_DIRTY            = 0x40;
-    static final int LIGHTENABLES_DIRTY        = 0x80;
-    static final int AMBIENTLIGHT_DIRTY        = 0x100;
-    static final int ATTRIBUTEBIN_DIRTY        = 0x200;
-    static final int TEXTUREBIN_DIRTY          = 0x400;
-    static final int TEXTUREATTRIBUTES_DIRTY   = 0x800;
-    static final int RENDERMOLECULE_DIRTY      = 0x1000;
-    static final int FOG_DIRTY                 = 0x2000;
-    static final int MODELCLIP_DIRTY           = 0x4000;    
-    static final int VIEW_MATRIX_DIRTY         = 0x8000;
+    @Native static final int LIGHTBIN_DIRTY            = 0x40;
+    @Native static final int LIGHTENABLES_DIRTY        = 0x80;
+    @Native static final int AMBIENTLIGHT_DIRTY        = 0x100;
+    @Native static final int ATTRIBUTEBIN_DIRTY        = 0x200;
+    @Native static final int TEXTUREBIN_DIRTY          = 0x400;
+    @Native static final int TEXTUREATTRIBUTES_DIRTY   = 0x800;
+    @Native static final int RENDERMOLECULE_DIRTY      = 0x1000;
+    @Native static final int FOG_DIRTY                 = 0x2000;
+    @Native static final int MODELCLIP_DIRTY           = 0x4000;    
+    @Native static final int VIEW_MATRIX_DIRTY         = 0x8000;
     // static final int SHADER_DIRTY              = 0x10000; Not ready for this yet -- JADA
 
     // Use to notify D3D Canvas when window change
-    static final int RESIZE = 1;
-    static final int TOGGLEFULLSCREEN = 2;
-    static final int NOCHANGE = 0;
-    static final int RESETSURFACE = 1;
-    static final int RECREATEDDRAW = 2;
+    @Native static final int RESIZE = 1;
+    @Native static final int TOGGLEFULLSCREEN = 2;
+    @Native static final int NOCHANGE = 0;
+    @Native static final int RESETSURFACE = 1;
+    @Native static final int RECREATEDDRAW = 2;
 
     //
     // Flag that indicates whether this Canvas3D is an off-screen Canvas3D
@@ -503,24 +504,24 @@
     RenderAtom ra = null;
     
     // Stereo related field has changed.
-    static final int STEREO_DIRTY                   = 0x01;
+    @Native static final int STEREO_DIRTY                   = 0x01;
     // MonoscopicViewPolicy field has changed.
-    static final int MONOSCOPIC_VIEW_POLICY_DIRTY   = 0x02;
+    @Native static final int MONOSCOPIC_VIEW_POLICY_DIRTY   = 0x02;
     // Left/right eye in image plate field has changed.
-    static final int EYE_IN_IMAGE_PLATE_DIRTY       = 0x04;
+    @Native static final int EYE_IN_IMAGE_PLATE_DIRTY       = 0x04;
     // Canvas has moved/resized.
-    static final int MOVED_OR_RESIZED_DIRTY         = 0x08;    
+    @Native static final int MOVED_OR_RESIZED_DIRTY         = 0x08;    
 
     // Canvas Background changed (this may affect doInfinite flag)
-    static final int BACKGROUND_DIRTY               = 0x10;
+    @Native static final int BACKGROUND_DIRTY               = 0x10;
 
     // Canvas Background Image changed
-    static final int BACKGROUND_IMAGE_DIRTY         = 0x20;
+    @Native static final int BACKGROUND_IMAGE_DIRTY         = 0x20;
 
     
     // Mask that indicates this Canvas view dependence info. has changed,
     // and CanvasViewCache may need to recompute the final view matries.
-    static final int VIEW_INFO_DIRTY = (STEREO_DIRTY | 
+    @Native static final int VIEW_INFO_DIRTY = (STEREO_DIRTY | 
 					MONOSCOPIC_VIEW_POLICY_DIRTY |
 					EYE_IN_IMAGE_PLATE_DIRTY | 
 					MOVED_OR_RESIZED_DIRTY | 
@@ -532,8 +533,8 @@
     // instance of CanvasViewCache (due to the fix for Issue 109), they
     // need separate dirty bits. Array element 0 is used for the Renderer and
     // element 1 is used for the RenderBin.
-    static final int RENDERER_DIRTY_IDX = 0;
-    static final int RENDER_BIN_DIRTY_IDX = 1;
+    @Native static final int RENDERER_DIRTY_IDX = 0;
+    @Native static final int RENDER_BIN_DIRTY_IDX = 1;
     int[] cvDirtyMask = new int[2];
 
     // This boolean informs the J3DGraphics2DImpl that the window is resized
@@ -772,25 +773,25 @@
     // Read-only flag that indicates whether the following texture features
     // are supported for this canvas.
 
-    static final int TEXTURE_3D			= 0x0001;
-    static final int TEXTURE_COLOR_TABLE	= 0x0002;
-    static final int TEXTURE_MULTI_TEXTURE	= 0x0004;
-    static final int TEXTURE_COMBINE		= 0x0008;
-    static final int TEXTURE_COMBINE_DOT3	= 0x0010;
-    static final int TEXTURE_COMBINE_SUBTRACT	= 0x0020;
-    static final int TEXTURE_REGISTER_COMBINERS	= 0x0040;
-    static final int TEXTURE_CUBE_MAP		= 0x0080;
-    static final int TEXTURE_SHARPEN		= 0x0100;
-    static final int TEXTURE_DETAIL		= 0x0200;
-    static final int TEXTURE_FILTER4		= 0x0400;
-    static final int TEXTURE_ANISOTROPIC_FILTER	= 0x0800;
-    static final int TEXTURE_LOD_RANGE		= 0x1000;
-    static final int TEXTURE_LOD_OFFSET		= 0x2000;
+    @Native static final int TEXTURE_3D			= 0x0001;
+    @Native static final int TEXTURE_COLOR_TABLE	= 0x0002;
+    @Native static final int TEXTURE_MULTI_TEXTURE	= 0x0004;
+    @Native static final int TEXTURE_COMBINE		= 0x0008;
+    @Native static final int TEXTURE_COMBINE_DOT3	= 0x0010;
+    @Native static final int TEXTURE_COMBINE_SUBTRACT	= 0x0020;
+    @Native static final int TEXTURE_REGISTER_COMBINERS	= 0x0040;
+    @Native static final int TEXTURE_CUBE_MAP		= 0x0080;
+    @Native static final int TEXTURE_SHARPEN		= 0x0100;
+    @Native static final int TEXTURE_DETAIL		= 0x0200;
+    @Native static final int TEXTURE_FILTER4		= 0x0400;
+    @Native static final int TEXTURE_ANISOTROPIC_FILTER	= 0x0800;
+    @Native static final int TEXTURE_LOD_RANGE		= 0x1000;
+    @Native static final int TEXTURE_LOD_OFFSET		= 0x2000;
     // Use by D3D to indicate using one pass Blend mode 
     // if Texture interpolation mode is support.
-    static final int TEXTURE_LERP               = 0x4000;
-    static final int TEXTURE_NON_POWER_OF_TWO	= 0x8000;
-    static final int TEXTURE_AUTO_MIPMAP_GENERATION = 0x10000;
+    @Native static final int TEXTURE_LERP               = 0x4000;
+    @Native static final int TEXTURE_NON_POWER_OF_TWO	= 0x8000;
+    @Native static final int TEXTURE_AUTO_MIPMAP_GENERATION = 0x10000;
     
     int textureExtendedFeatures = 0;
 
@@ -798,10 +799,10 @@
     //
     // NOTE: we should remove EXT_BGR and EXT_ABGR when the imaging code is
     // rewritten
-    static final int SUN_GLOBAL_ALPHA            = 0x1;
-    static final int EXT_ABGR                    = 0x2;
-    static final int EXT_BGR                     = 0x4;
-    static final int MULTISAMPLE                 = 0x8;
+    @Native static final int SUN_GLOBAL_ALPHA            = 0x1;
+    @Native static final int EXT_ABGR                    = 0x2;
+    @Native static final int EXT_BGR                     = 0x4;
+    @Native static final int MULTISAMPLE                 = 0x8;
 
     // The following 10 variables are set by the native
     // createNewContext()/createQueryContext() methods
@@ -868,13 +869,13 @@
     // The following variables are used by the lazy download of
     // states code to keep track of the set of current to be update bins
 
-    static final int LIGHTBIN_BIT	= 0x0;
-    static final int ENVIRONMENTSET_BIT	= 0x1;
-    static final int ATTRIBUTEBIN_BIT	= 0x2;
-    static final int TEXTUREBIN_BIT	= 0x3;
-    static final int RENDERMOLECULE_BIT	= 0x4;
-    static final int TRANSPARENCY_BIT	= 0x5;
-    static final int SHADERBIN_BIT	= 0x6;
+    @Native static final int LIGHTBIN_BIT	= 0x0;
+    @Native static final int ENVIRONMENTSET_BIT	= 0x1;
+    @Native static final int ATTRIBUTEBIN_BIT	= 0x2;
+    @Native static final int TEXTUREBIN_BIT	= 0x3;
+    @Native static final int RENDERMOLECULE_BIT	= 0x4;
+    @Native static final int TRANSPARENCY_BIT	= 0x5;
+    @Native static final int SHADERBIN_BIT	= 0x6;
 
     // bitmask to specify if the corresponding "bin" needs to be updated
     int stateUpdateMask = 0;   
--- java3d-1.5.2/j3d-core/src/classes/share/javax/media/j3d/ColoringAttributes.java	2018-01-10 11:36:06.361594244 +0100
+++ java3d-1.5.2/j3d-core/src/classes/share/javax/media/j3d/ColoringAttributes.java	2018-01-10 12:53:13.966213727 +0100
@@ -31,6 +31,7 @@
 
 package javax.media.j3d;
 
+import java.lang.annotation.Native;
 import javax.vecmath.Color3f;
 
 /**
@@ -128,7 +129,7 @@
     /**
      * Do not interpolate color across the primitive.
      */
-    public static final int SHADE_FLAT   = 2;
+    @Native public static final int SHADE_FLAT   = 2;
     /**
      * Smoothly interpolate the color at each vertex across the primitive.
      */
--- java3d-1.5.2/j3d-core/src/classes/share/javax/media/j3d/DepthComponentRetained.java	2018-01-10 11:36:06.365594244 +0100
+++ java3d-1.5.2/j3d-core/src/classes/share/javax/media/j3d/DepthComponentRetained.java	2018-01-10 15:18:53.927134876 +0100
@@ -31,6 +31,8 @@
 
 package javax.media.j3d;
 
+import java.lang.annotation.Native;
+
 /**
  * Abstract base class that defines a 2D array of depth (Z) values.
  */
@@ -38,9 +40,9 @@
 
 abstract class DepthComponentRetained extends NodeComponentRetained {
     // depth component types
-    static final int DEPTH_COMPONENT_TYPE_INT   = 1;
-    static final int DEPTH_COMPONENT_TYPE_FLOAT = 2;
-    static final int DEPTH_COMPONENT_TYPE_NATIVE = DEPTH_COMPONENT_TYPE_INT;
+    @Native static final int DEPTH_COMPONENT_TYPE_INT   = 1;
+    @Native static final int DEPTH_COMPONENT_TYPE_FLOAT = 2;
+    @Native static final int DEPTH_COMPONENT_TYPE_NATIVE = DEPTH_COMPONENT_TYPE_INT;
 
 
     // Width and height of DepthComponent---set by subclasses
--- java3d-1.5.2/j3d-core/src/classes/share/javax/media/j3d/GeometryArray.java	2018-01-10 11:36:06.369594244 +0100
+++ java3d-1.5.2/j3d-core/src/classes/share/javax/media/j3d/GeometryArray.java	2018-01-10 16:12:16.255410508 +0100
@@ -31,9 +31,9 @@
 
 package javax.media.j3d;
 
+import java.lang.annotation.Native;
 import javax.vecmath.*;
 
-
 /**
  * The GeometryArray object contains separate arrays of positional
  * coordinates, colors, normals, texture coordinates, and vertex
@@ -224,46 +224,46 @@
    * Specifies that this GeometryArray contains an array of coordinates.
    * This bit must be set.
    */
-  public static final int COORDINATES = 0x01;
+  @Native public static final int COORDINATES = 0x01;
 
   /**
    * Specifies that this GeometryArray contains an array of normals.
    */
-  public static final int NORMALS = 0x02;
+  @Native public static final int NORMALS = 0x02;
 
   /**
    * Specifies that this GeometryArray contains an array of colors.
    */
-  static final int COLOR = 0x04;
+  @Native static final int COLOR = 0x04;
 
   /**
    * Specifies that this GeometryArray's colors contain alpha.
    */
-  static final int WITH_ALPHA = 0x08;
+  @Native static final int WITH_ALPHA = 0x08;
 
   /**
    * Specifies that this GeometryArray contains an array of colors without alpha.
    */
-  public static final int COLOR_3 = COLOR;
+  @Native public static final int COLOR_3 = COLOR;
 
   /**
    * Specifies that this GeometryArray contains an array of colors with alpha.
    * This takes precedence over COLOR_3.
    */
-  public static final int COLOR_4 = COLOR | WITH_ALPHA;
+  @Native public static final int COLOR_4 = COLOR | WITH_ALPHA;
 
   /**
    * Specifies that this GeometryArray contains one or more arrays of
    * 2D texture coordinates.
    */
-  public static final int TEXTURE_COORDINATE_2 = 0x20;
+  @Native public static final int TEXTURE_COORDINATE_2 = 0x20;
 
   /**
    * Specifies that this GeometryArray contains one or more arrays of
    * 3D texture coordinates.
    * This takes precedence over TEXTURE_COORDINATE_2.
    */
-  public static final int TEXTURE_COORDINATE_3 = 0x40;
+  @Native public static final int TEXTURE_COORDINATE_3 = 0x40;
 
 
   /**
@@ -273,10 +273,10 @@
    *
    * @since Java 3D 1.3
    */
-  public static final int TEXTURE_COORDINATE_4 = 0x400;
+  @Native public static final int TEXTURE_COORDINATE_4 = 0x400;
 
 
-  static final int TEXTURE_COORDINATE = TEXTURE_COORDINATE_2 |
+  @Native static final int TEXTURE_COORDINATE = TEXTURE_COORDINATE_2 |
                                         TEXTURE_COORDINATE_3 |
 					TEXTURE_COORDINATE_4;
 
@@ -286,7 +286,7 @@
      *
      * @since Java 3D 1.2
      */
-    public static final int BY_REFERENCE = 0x80;
+    @Native public static final int BY_REFERENCE = 0x80;
 
 
     /**
--- java3d-1.5.2/j3d-core/src/classes/share/javax/media/j3d/GeometryArrayRetained.java	2018-01-10 11:36:06.357594244 +0100
+++ java3d-1.5.2/j3d-core/src/classes/share/javax/media/j3d/GeometryArrayRetained.java	2018-01-10 16:16:14.513271274 +0100
@@ -33,6 +33,7 @@
 
 import com.sun.j3d.internal.Distance;
 import javax.vecmath.*;
+import java.lang.annotation.Native;
 import java.lang.Math;
 import java.util.ArrayList;
 import java.util.Set;
@@ -209,13 +210,13 @@
     private int vertexAttrType = 0;
 
     // flag for execute geometry array when by reference
-    static final int COORD_FLOAT  = 0x01;
-    static final int COORD_DOUBLE = 0x02;
-    static final int COLOR_FLOAT  = 0x04;
-    static final int COLOR_BYTE   = 0x08;
-    static final int NORMAL_FLOAT = 0x10;
-    static final int TEXCOORD_FLOAT = 0x20;
-    static final int VATTR_FLOAT = 0x40;
+    @Native static final int COORD_FLOAT  = 0x01;
+    @Native static final int COORD_DOUBLE = 0x02;
+    @Native static final int COLOR_FLOAT  = 0x04;
+    @Native static final int COLOR_BYTE   = 0x08;
+    @Native static final int NORMAL_FLOAT = 0x10;
+    @Native static final int TEXCOORD_FLOAT = 0x20;
+    @Native static final int VATTR_FLOAT = 0x40;
 
 
     // used by "by reference" normals
@@ -270,15 +271,15 @@
     boolean mirrorNormalAllocated = false;
 
     // Some dirty bits for GeometryArrays
-    static final int COORDINATE_CHANGED 	= 0x01;
-    static final int NORMAL_CHANGED 		= 0x02;
-    static final int COLOR_CHANGED 		= 0x04;
-    static final int TEXTURE_CHANGED 		= 0x08;
-    static final int BOUNDS_CHANGED 		= 0x10;
-    static final int INDEX_CHANGED 		= 0x20;
-    static final int STRIPCOUNT_CHANGED 	= 0x40;
-    static final int VATTR_CHANGED 		= 0x80;
-    static final int VERTEX_CHANGED             = COORDINATE_CHANGED |
+    @Native static final int COORDINATE_CHANGED 	= 0x01;
+    @Native static final int NORMAL_CHANGED 		= 0x02;
+    @Native static final int COLOR_CHANGED 		= 0x04;
+    @Native static final int TEXTURE_CHANGED 		= 0x08;
+    @Native static final int BOUNDS_CHANGED 		= 0x10;
+    @Native static final int INDEX_CHANGED 		= 0x20;
+    @Native static final int STRIPCOUNT_CHANGED 	= 0x40;
+    @Native static final int VATTR_CHANGED 		= 0x80;
+    @Native static final int VERTEX_CHANGED             = COORDINATE_CHANGED |
                                                   NORMAL_CHANGED |
                                                   COLOR_CHANGED |
                                                   TEXTURE_CHANGED |
--- java3d-1.5.2/j3d-core/src/classes/share/javax/media/j3d/GeometryRetained.java	2018-01-10 11:36:06.349594244 +0100
+++ java3d-1.5.2/j3d-core/src/classes/share/javax/media/j3d/GeometryRetained.java	2018-01-10 16:03:14.269901721 +0100
@@ -34,32 +34,34 @@
 import javax.vecmath.*;
 import java.util.ArrayList;
 
+import java.lang.annotation.Native;
+
 abstract class GeometryRetained extends NodeComponentRetained {
 
-    static final int GEO_TYPE_NONE                        = -1;
+    @Native static final int GEO_TYPE_NONE                        = -1;
 
-    static final int GEO_TYPE_QUAD_SET                    = 1;
-    static final int GEO_TYPE_TRI_SET                     = 2;
-    static final int GEO_TYPE_POINT_SET                   = 3;
-    static final int GEO_TYPE_LINE_SET                    = 4;
-    static final int GEO_TYPE_TRI_STRIP_SET               = 5;
-    static final int GEO_TYPE_TRI_FAN_SET                 = 6;
-    static final int GEO_TYPE_LINE_STRIP_SET              = 7;
-
-    static final int GEO_TYPE_INDEXED_QUAD_SET            = 8;
-    static final int GEO_TYPE_INDEXED_TRI_SET             = 9;
-    static final int GEO_TYPE_INDEXED_POINT_SET           = 10;
-    static final int GEO_TYPE_INDEXED_LINE_SET            = 11;
-    static final int GEO_TYPE_INDEXED_TRI_STRIP_SET       = 12;
-    static final int GEO_TYPE_INDEXED_TRI_FAN_SET         = 13;
-    static final int GEO_TYPE_INDEXED_LINE_STRIP_SET      = 14;
-
-    static final int GEO_TYPE_RASTER                      = 15;
-    static final int GEO_TYPE_TEXT3D                      = 16;
-    static final int GEO_TYPE_COMPRESSED                  = 17;
+    @Native static final int GEO_TYPE_QUAD_SET                    = 1;
+    @Native static final int GEO_TYPE_TRI_SET                     = 2;
+    @Native static final int GEO_TYPE_POINT_SET                   = 3;
+    @Native static final int GEO_TYPE_LINE_SET                    = 4;
+    @Native static final int GEO_TYPE_TRI_STRIP_SET               = 5;
+    @Native static final int GEO_TYPE_TRI_FAN_SET                 = 6;
+    @Native static final int GEO_TYPE_LINE_STRIP_SET              = 7;
+
+    @Native static final int GEO_TYPE_INDEXED_QUAD_SET            = 8;
+    @Native static final int GEO_TYPE_INDEXED_TRI_SET             = 9;
+    @Native static final int GEO_TYPE_INDEXED_POINT_SET           = 10;
+    @Native static final int GEO_TYPE_INDEXED_LINE_SET            = 11;
+    @Native static final int GEO_TYPE_INDEXED_TRI_STRIP_SET       = 12;
+    @Native static final int GEO_TYPE_INDEXED_TRI_FAN_SET         = 13;
+    @Native static final int GEO_TYPE_INDEXED_LINE_STRIP_SET      = 14;
+
+    @Native static final int GEO_TYPE_RASTER                      = 15;
+    @Native static final int GEO_TYPE_TEXT3D                      = 16;
+    @Native static final int GEO_TYPE_COMPRESSED                  = 17;
 
-    static final int GEO_TYPE_TOTAL                       = 17;
-    static final int GEO_TYPE_GEOMETRYARRAY               = 14;
+    @Native static final int GEO_TYPE_TOTAL                       = 17;
+    @Native static final int GEO_TYPE_GEOMETRYARRAY               = 14;
 
     BoundingBox geoBounds = new BoundingBox();
 
--- java3d-1.5.2/j3d-core/src/classes/share/javax/media/j3d/ImageComponent.java	2018-01-10 11:36:06.353594244 +0100
+++ java3d-1.5.2/j3d-core/src/classes/share/javax/media/j3d/ImageComponent.java	2018-01-10 17:14:24.264211989 +0100
@@ -31,6 +31,8 @@
 
 package javax.media.j3d;
 
+import java.lang.annotation.Native;
+
 /**
  * Abstract class that is used to define 2D or 3D ImageComponent
  * classes used in a Java 3D scene graph.  This is used for texture
@@ -112,73 +114,73 @@
    * Specifies that each pixel contains 3 8-bit channels: one each
    * for red, green, blue. Same as FORMAT_RGB8.
    */
-    public static final int FORMAT_RGB = 1;
+    @Native public static final int FORMAT_RGB = 1;
 
   /**
    * Specifies that each pixel contains 4 8-bit channels: one each
    * for red, green, blue, alpha. Same as FORMAT_RGBA8.
    */
-    public static final int FORMAT_RGBA = 2;
+    @Native public static final int FORMAT_RGBA = 2;
 
   /**
    * Specifies that each pixel contains 3 8-bit channels: one each
    * for red, green, blue. Same as FORMAT_RGB.
    */
-    public static final int FORMAT_RGB8 = FORMAT_RGB;
+    @Native public static final int FORMAT_RGB8 = FORMAT_RGB;
 
   /**
    * Specifies that each pixel contains 4 8-bit channels: one each
    * for red, green, blue, alpha. Same as FORMAT_RGBA.
    */
-    public static final int FORMAT_RGBA8 = FORMAT_RGBA;
+    @Native public static final int FORMAT_RGBA8 = FORMAT_RGBA;
 
   /**
    * Specifies that each pixel contains 3 5-bit channels: one each
    * for red, green, blue.
    */
-    public static final int FORMAT_RGB5 = 3;
+    @Native public static final int FORMAT_RGB5 = 3;
 
   /**
    * Specifies that each pixel contains 3 5-bit channels: one each
    * for red, green, blue and 1 1-bit channel for alpha.
    */
-    public static final int FORMAT_RGB5_A1 = 4;
+    @Native public static final int FORMAT_RGB5_A1 = 4;
 
   /**
    * Specifies that each pixel contains 3 4-bit channels: one each
    * for red, green, blue.
    */
-    public static final int FORMAT_RGB4 = 5;
+    @Native public static final int FORMAT_RGB4 = 5;
 
   /**
    * Specifies that each pixel contains 4 4-bit channels: one each
    * for red, green, blue, alpha.
    */
-    public static final int FORMAT_RGBA4 = 6;
+    @Native public static final int FORMAT_RGBA4 = 6;
 
   /**
    * Specifies that each pixel contains 2 4-bit channels: one each
    * for luminance and alpha.
    */
-    public static final int FORMAT_LUM4_ALPHA4 = 7;
+    @Native public static final int FORMAT_LUM4_ALPHA4 = 7;
 
   /**
    * Specifies that each pixel contains 2 8-bit channels: one each
    * for luminance and alpha.
    */
-    public static final int FORMAT_LUM8_ALPHA8 = 8;
+    @Native public static final int FORMAT_LUM8_ALPHA8 = 8;
 
   /**
    * Specifies that each pixel contains 2 3-bit channels: one each
    * for red, green, and 1 2-bit channel for blue.
    */
-    public static final int FORMAT_R3_G3_B2 = 9;
+    @Native public static final int FORMAT_R3_G3_B2 = 9;
 
   /**
    * Specifies that each pixel contains 1 8-bit channel: it can be
    * used for only luminance or only alpha or only intensity.
    */
-    public static final int FORMAT_CHANNEL8 = 10;
+    @Native public static final int FORMAT_CHANNEL8 = 10;
 
     // Internal variable for checking validity of formats
     // Change this if any more formats are added or removed
--- java3d-1.5.2/j3d-core/src/classes/share/javax/media/j3d/ImageComponentRetained.java	2018-01-10 11:36:06.357594244 +0100
+++ java3d-1.5.2/j3d-core/src/classes/share/javax/media/j3d/ImageComponentRetained.java	2018-01-10 17:15:28.496415101 +0100
@@ -38,6 +38,7 @@
 import java.awt.geom.AffineTransform;
 import java.awt.image.AffineTransformOp;
 import java.awt.image.RenderedImage;
+import java.lang.annotation.Native;
 import java.nio.ByteBuffer;
 import java.nio.ByteOrder;
 import java.nio.IntBuffer;
@@ -57,16 +58,16 @@
     static final int IMAGE_CHANGED       = 0x01;
     static final int SUBIMAGE_CHANGED    = 0x02;
     
-    static final int TYPE_BYTE_BGR     =  0x1;
-    static final int TYPE_BYTE_RGB     =  0x2;
-    static final int TYPE_BYTE_ABGR    =  0x4;
-    static final int TYPE_BYTE_RGBA    =  0x8;
-    static final int TYPE_BYTE_LA      =  0x10;
-    static final int TYPE_BYTE_GRAY    =  0x20;
-    static final int TYPE_USHORT_GRAY  =  0x40;
-    static final int TYPE_INT_BGR      =  0x80;
-    static final int TYPE_INT_RGB      =  0x100;
-    static final int TYPE_INT_ARGB     =  0x200;
+    @Native static final int TYPE_BYTE_BGR     =  0x1;
+    @Native static final int TYPE_BYTE_RGB     =  0x2;
+    @Native static final int TYPE_BYTE_ABGR    =  0x4;
+    @Native static final int TYPE_BYTE_RGBA    =  0x8;
+    @Native static final int TYPE_BYTE_LA      =  0x10;
+    @Native static final int TYPE_BYTE_GRAY    =  0x20;
+    @Native static final int TYPE_USHORT_GRAY  =  0x40;
+    @Native static final int TYPE_INT_BGR      =  0x80;
+    @Native static final int TYPE_INT_RGB      =  0x100;
+    @Native static final int TYPE_INT_ARGB     =  0x200;
     
     static final int  IMAGE_SIZE_512X512 = 262144;
     
@@ -84,10 +85,10 @@
         TYPE_INT_ARGB
     }
     
-    static final int IMAGE_DATA_TYPE_BYTE_ARRAY     =  0x1000;
-    static final int IMAGE_DATA_TYPE_INT_ARRAY      =  0x2000;
-    static final int IMAGE_DATA_TYPE_BYTE_BUFFER    =  0x4000;
-    static final int IMAGE_DATA_TYPE_INT_BUFFER     =  0x8000;
+    @Native static final int IMAGE_DATA_TYPE_BYTE_ARRAY     =  0x1000;
+    @Native static final int IMAGE_DATA_TYPE_INT_ARRAY      =  0x2000;
+    @Native static final int IMAGE_DATA_TYPE_BYTE_BUFFER    =  0x4000;
+    @Native static final int IMAGE_DATA_TYPE_INT_BUFFER     =  0x8000;
     
     enum ImageDataType {
         TYPE_NULL,
--- java3d-1.5.2/j3d-core/src/classes/share/javax/media/j3d/LineAttributes.java	2018-01-10 11:36:06.369594244 +0100
+++ java3d-1.5.2/j3d-core/src/classes/share/javax/media/j3d/LineAttributes.java	2018-01-10 17:20:04.664177011 +0100
@@ -31,6 +31,8 @@
 
 package javax.media.j3d;
 
+import java.lang.annotation.Native;
+
 /**
  * The LineAttributes object defines all rendering state that can be set
  * as a component object of a Shape3D node.
@@ -153,21 +155,21 @@
      * Draw solid lines with no pattern.
      * @see #setLinePattern
      */
-    public static final int PATTERN_SOLID = 0;
+    @Native public static final int PATTERN_SOLID = 0;
 
     /**
      * Draw dashed lines.  Ideally, these will be drawn with
      * a repeating pattern of 8 pixels on and 8 pixels off.
      * @see #setLinePattern
      */
-    public static final int PATTERN_DASH = 1;
+    @Native public static final int PATTERN_DASH = 1;
 
     /**
      * Draw dotted lines.  Ideally, these will be drawn with
      * a repeating pattern of 1 pixel on and 7 pixels off.
      * @see #setLinePattern
      */
-    public static final int PATTERN_DOT = 2;
+    @Native public static final int PATTERN_DOT = 2;
 
     /**
      * Draw dashed-dotted lines.  Ideally, these will be drawn with
@@ -175,7 +177,7 @@
      * and 4 pixels off.
      * @see #setLinePattern
      */
-    public static final int PATTERN_DASH_DOT = 3;
+    @Native public static final int PATTERN_DASH_DOT = 3;
 
     /**
      * Draw lines with a user-defined line pattern.  The line pattern
@@ -186,7 +188,7 @@
      *
      * @since Java 3D 1.2
      */
-    public static final int PATTERN_USER_DEFINED = 4;
+    @Native public static final int PATTERN_USER_DEFINED = 4;
 
    // Array for setting default read capabilities
     private static final int[] readCapabilities = {
--- java3d-1.5.2/j3d-core/src/classes/share/javax/media/j3d/Material.java	2018-01-10 11:36:06.345594244 +0100
+++ java3d-1.5.2/j3d-core/src/classes/share/javax/media/j3d/Material.java	2018-01-10 17:23:43.352177836 +0100
@@ -31,6 +31,7 @@
 
 package javax.media.j3d;
 
+import java.lang.annotation.Native;
 import javax.vecmath.Color3f;
 
 /**
@@ -86,7 +87,7 @@
      *
      * @since Java 3D 1.3
      */
-    public static final int AMBIENT = 0;
+    @Native public static final int AMBIENT = 0;
 
     /**
      * Specifies that per-vertex colors replace the emissive material color.
@@ -94,7 +95,7 @@
      *
      * @since Java 3D 1.3
      */
-    public static final int EMISSIVE = 1;
+    @Native public static final int EMISSIVE = 1;
 
     /**
      * Specifies that per-vertex colors replace the diffuse material color.
@@ -103,7 +104,7 @@
      *
      * @since Java 3D 1.3
      */
-    public static final int DIFFUSE = 2;
+    @Native public static final int DIFFUSE = 2;
 
     /**
      * Specifies that per-vertex colors replace the specular material color.
@@ -111,7 +112,7 @@
      *
      * @since Java 3D 1.3
      */
-    public static final int SPECULAR = 3;
+    @Native public static final int SPECULAR = 3;
 
     /**
      * Specifies that per-vertex colors replace both the ambient and the
@@ -120,7 +121,7 @@
      *
      * @since Java 3D 1.3
      */
-    public static final int AMBIENT_AND_DIFFUSE = 4;
+    @Native public static final int AMBIENT_AND_DIFFUSE = 4;
 
    // Array for setting default read capabilities
     private static final int[] readCapabilities = {
--- java3d-1.5.2/j3d-core/src/classes/share/javax/media/j3d/NativeConfigTemplate3D.java	2018-01-10 11:36:06.353594244 +0100
+++ java3d-1.5.2/j3d-core/src/classes/share/javax/media/j3d/NativeConfigTemplate3D.java	2018-01-10 17:27:06.067217469 +0100
@@ -32,6 +32,7 @@
 package javax.media.j3d;
 
 import java.awt.GraphicsConfiguration;
+import java.lang.annotation.Native;
 
 /**
  * Native config template class. A singleton instance of the appropriate
@@ -39,17 +40,17 @@
  */
 abstract class NativeConfigTemplate3D {
     //  These definitions are used by both the X11 and Win32 subclasses
-    final static int RED_SIZE		= 0;
-    final static int GREEN_SIZE		= 1;
-    final static int BLUE_SIZE		= 2;
-    final static int ALPHA_SIZE		= 3;
-    final static int ACCUM_BUFFER	= 4;
-    final static int DEPTH_SIZE		= 5;
-    final static int DOUBLEBUFFER	= 6;
-    final static int STEREO		= 7;
-    final static int ANTIALIASING	= 8;
-    final static int STENCIL_SIZE       = 9;
-    final static int NUM_ITEMS		= 10;
+    @Native final static int RED_SIZE		= 0;
+    @Native final static int GREEN_SIZE		= 1;
+    @Native final static int BLUE_SIZE		= 2;
+    @Native final static int ALPHA_SIZE		= 3;
+    @Native final static int ACCUM_BUFFER	= 4;
+    @Native final static int DEPTH_SIZE		= 5;
+    @Native final static int DOUBLEBUFFER	= 6;
+    @Native final static int STEREO		= 7;
+    @Native final static int ANTIALIASING	= 8;
+    @Native final static int STENCIL_SIZE       = 9;
+    @Native final static int NUM_ITEMS		= 10;
 
     private static final String x11ClassName = "javax.media.j3d.X11NativeConfigTemplate3D";
     private static final String win32ClassName = "javax.media.j3d.Win32NativeConfigTemplate3D";
--- java3d-1.5.2/j3d-core/src/classes/share/javax/media/j3d/PolygonAttributes.java	2018-01-10 11:36:06.353594244 +0100
+++ java3d-1.5.2/j3d-core/src/classes/share/javax/media/j3d/PolygonAttributes.java	2018-01-10 17:31:08.275827249 +0100
@@ -31,6 +31,7 @@
 
 package javax.media.j3d;
 
+import java.lang.annotation.Native;
 
 /**
  * The PolygonAttributes object defines attributes for rendering polygon
@@ -141,29 +142,29 @@
      * Render polygonal primitives as points drawn at the vertices
      * of the polygon.
      */
-    public static final int POLYGON_POINT = 0;
+    @Native public static final int POLYGON_POINT = 0;
     /**
      * Render polygonal primitives as lines drawn between consecutive
      * vertices of the polygon.
      */
-    public static final int POLYGON_LINE  = 1;
+    @Native public static final int POLYGON_LINE  = 1;
     /**
      * Render polygonal primitives by filling the interior of the polygon.
      */
-    public static final int POLYGON_FILL  = 2;
+    @Native public static final int POLYGON_FILL  = 2;
 
     /**
      * Don't perform any face culling.
      */
-    public static final int CULL_NONE  = 0;
+    @Native public static final int CULL_NONE  = 0;
     /**
      * Cull all back-facing polygons.  This is the default mode.
      */
-    public static final int CULL_BACK  = 1;
+    @Native public static final int CULL_BACK  = 1;
     /**
      * Cull all front-facing polygons.
      */
-    public static final int CULL_FRONT = 2;
+    @Native public static final int CULL_FRONT = 2;
 
    // Array for setting default read capabilities
     private static final int[] readCapabilities = {
--- java3d-1.5.2/j3d-core/src/classes/share/javax/media/j3d/Raster.java	2018-01-10 11:36:06.369594244 +0100
+++ java3d-1.5.2/j3d-core/src/classes/share/javax/media/j3d/Raster.java	2018-01-10 17:33:50.475827861 +0100
@@ -34,6 +34,7 @@
 import javax.vecmath.*;
 import java.awt.Point;
 import java.awt.Dimension;
+import java.lang.annotation.Native;
 
 
 /**
@@ -66,7 +67,7 @@
      *
      * @see #setType
      */
-    public static final int RASTER_COLOR = 0x1;
+    @Native public static final int RASTER_COLOR = 0x1;
 
     /**
      * Specifies a Raster object with depth (z-buffer) data.
@@ -75,7 +76,7 @@
      *
      * @see #setType
      */
-    public static final int RASTER_DEPTH = 0x2;
+    @Native public static final int RASTER_DEPTH = 0x2;
 
     /**
      * Specifies a Raster object with both color and depth (z-buffer) data.
--- java3d-1.5.2/j3d-core/src/classes/share/javax/media/j3d/RenderingAttributes.java	2018-01-10 11:36:06.361594244 +0100
+++ java3d-1.5.2/j3d-core/src/classes/share/javax/media/j3d/RenderingAttributes.java	2018-01-10 17:39:22.010976983 +0100
@@ -31,6 +31,8 @@
 
 package javax.media.j3d;
 
+import java.lang.annotation.Native;
+
 /**
  * The RenderingAttributes object defines common rendering attributes
  * for all primitive types. The rendering attributes are:<p>
@@ -387,7 +389,7 @@
      * @see #setDepthTestFunction
      * @see #setStencilFunction(int,int,int)
      */
-    public static final int ALWAYS = 0;
+    @Native public static final int ALWAYS = 0;
 
     /**
      * Specifies that pixels are never drawn irrespective of the
@@ -399,7 +401,7 @@
      * @see #setDepthTestFunction
      * @see #setStencilFunction(int,int,int)
      */
-    public static final int NEVER = 1;
+    @Native public static final int NEVER = 1;
 
     /**
      * Specifies that pixels are drawn if the two values being tested are equal.
@@ -410,7 +412,7 @@
      * @see #setDepthTestFunction
      * @see #setStencilFunction(int,int,int)
      */
-    public static final int EQUAL = 2;
+    @Native public static final int EQUAL = 2;
 
     /**
      * Specifies that pixels are drawn if the two values being tested are not equal.
@@ -421,7 +423,7 @@
      * @see #setDepthTestFunction
      * @see #setStencilFunction(int,int,int)
      */
-    public static final int NOT_EQUAL = 3;
+    @Native public static final int NOT_EQUAL = 3;
 
     /**
      * Specifies that pixels are drawn if the source/reference value is less 
@@ -433,7 +435,7 @@
      * @see #setDepthTestFunction
      * @see #setStencilFunction(int,int,int)
      */
-    public static final int LESS = 4;
+    @Native public static final int LESS = 4;
 
     /**
      * Specifies that pixels are drawn if the source/reference value is less 
@@ -445,7 +447,7 @@
      * @see #setDepthTestFunction
      * @see #setStencilFunction(int,int,int)
      */
-    public static final int LESS_OR_EQUAL = 5;
+    @Native public static final int LESS_OR_EQUAL = 5;
 
     /**
      * Specifies that pixels are drawn if the source/reference value is greater 
@@ -457,7 +459,7 @@
      * @see #setDepthTestFunction
      * @see #setStencilFunction(int,int,int)
      */
-    public static final int GREATER = 6;
+    @Native public static final int GREATER = 6;
 
     /**
      * Specifies that pixels are drawn if the source/reference value is greater 
@@ -469,7 +471,7 @@
      * @see #setDepthTestFunction
      * @see #setStencilFunction(int,int,int)
      */
-    public static final int GREATER_OR_EQUAL = 7;
+    @Native public static final int GREATER_OR_EQUAL = 7;
 
 
     //
@@ -482,7 +484,7 @@
      *
      * @since Java 3D 1.4
      */
-    public static final int ROP_CLEAR = 0x0;
+    @Native public static final int ROP_CLEAR = 0x0;
 
     /**
      * Raster operation: <code>DST = SRC & DST</code>.
@@ -490,7 +492,7 @@
      *
      * @since Java 3D 1.4
      */
-    public static final int ROP_AND = 0x1;
+    @Native public static final int ROP_AND = 0x1;
 
     /**
      * Raster operation: <code>DST = SRC & ~DST</code>.
@@ -498,7 +500,7 @@
      *
      * @since Java 3D 1.4
      */
-    public static final int ROP_AND_REVERSE = 0x2;
+    @Native public static final int ROP_AND_REVERSE = 0x2;
 
     /**
      * Raster operation: <code>DST = SRC</code>.
@@ -506,7 +508,7 @@
      *
      * @since Java 3D 1.2
      */
-    public static final int ROP_COPY = 0x3;
+    @Native public static final int ROP_COPY = 0x3;
 
     /**
      * Raster operation: <code>DST = ~SRC & DST</code>.
@@ -514,7 +516,7 @@
      *
      * @since Java 3D 1.4
      */
-    public static final int ROP_AND_INVERTED = 0x4;
+    @Native public static final int ROP_AND_INVERTED = 0x4;
 		
     /**
      * Raster operation: <code>DST = DST</code>.
@@ -522,7 +524,7 @@
      *
      * @since Java 3D 1.4
      */
-    public static final int ROP_NOOP = 0x5;
+    @Native public static final int ROP_NOOP = 0x5;
 
     /**
      * Raster operation: <code>DST = SRC ^ DST</code>.
@@ -530,7 +532,7 @@
      *
      * @since Java 3D 1.2
      */
-    public static final int ROP_XOR = 0x6;
+    @Native public static final int ROP_XOR = 0x6;
 
     /**
      * Raster operation: <code>DST = DST | SRC</code>.
@@ -538,7 +540,7 @@
      *
      * @since Java 3D 1.4
      */
-    public static final int ROP_OR = 0x7;
+    @Native public static final int ROP_OR = 0x7;
 
     /**
      * Raster operation: <code>DST = ~( DST | SRC )</code>.
@@ -546,7 +548,7 @@
      *
      * @since Java 3D 1.4
      */
-    public static final int ROP_NOR = 0x8;
+    @Native public static final int ROP_NOR = 0x8;
 
     /**
      * Raster operation: <code>DST = ~( DST ^ SRC )</code>.
@@ -554,7 +556,7 @@
      *
      * @since Java 3D 1.4
      */
-    public static final int ROP_EQUIV = 0x9;
+    @Native public static final int ROP_EQUIV = 0x9;
 		
     /**
      * Raster operation: <code>DST = ~DST</code>.
@@ -562,7 +564,7 @@
      *
      * @since Java 3D 1.4
      */
-    public static final int ROP_INVERT = 0xA;
+    @Native public static final int ROP_INVERT = 0xA;
 		
     /**
      * Raster operation: <code>DST = src | ~DST</code>.
@@ -570,7 +572,7 @@
      *
      * @since Java 3D 1.4
      */
-    public static final int ROP_OR_REVERSE = 0xB;
+    @Native public static final int ROP_OR_REVERSE = 0xB;
 
     /**
      * Raster operation: <code>DST = ~SRC</code>.
@@ -578,7 +580,7 @@
      *
      * @since Java 3D 1.4
      */
-    public static final int ROP_COPY_INVERTED = 0xC;
+    @Native public static final int ROP_COPY_INVERTED = 0xC;
 
     /**
      * Raster operation: <code>DST = ~SRC | DST</code>.
@@ -586,7 +588,7 @@
      *
      * @since Java 3D 1.4
      */
-    public static final int ROP_OR_INVERTED = 0xD;
+    @Native public static final int ROP_OR_INVERTED = 0xD;
 
     /**
      * Raster operation: <code>DST = ~(SRC & DST)</code>.
@@ -594,7 +596,7 @@
      *
      * @since Java 3D 1.4
      */
-    public static final int ROP_NAND = 0xE;
+    @Native public static final int ROP_NAND = 0xE;
 
     /**
      * Raster operation: <code>DST = 1</code>.
@@ -602,7 +604,7 @@
      *
      * @since Java 3D 1.4
      */
-    public static final int ROP_SET = 0xF;
+    @Native public static final int ROP_SET = 0xF;
 
 
     //
@@ -615,7 +617,7 @@
      *
      * @since Java 3D 1.4
      */
-    public static final int STENCIL_KEEP = 1;
+    @Native public static final int STENCIL_KEEP = 1;
 
     /**
      * Stencil operation: <code>DST = 0</code>
@@ -623,7 +625,7 @@
      *
      * @since Java 3D 1.4
      */
-    public static final int STENCIL_ZERO = 2;
+    @Native public static final int STENCIL_ZERO = 2;
 
     /**
      * Stencil operation: <code>DST = REF</code>
@@ -631,7 +633,7 @@
      *
      * @since Java 3D 1.4
      */
-    public static final int STENCIL_REPLACE = 3;
+    @Native public static final int STENCIL_REPLACE = 3;
 
     /**
      * Stencil operation: <code>DST = DST + 1</code>
@@ -639,7 +641,7 @@
      *
      * @since Java 3D 1.4
      */
-    public static final int STENCIL_INCR = 4;
+    @Native public static final int STENCIL_INCR = 4;
 
     /**
      * Stencil operation: <code>DST = DST - 1</code>
@@ -647,7 +649,7 @@
      *
      * @since Java 3D 1.4
      */
-    public static final int STENCIL_DECR = 5;
+    @Native public static final int STENCIL_DECR = 5;
 
     /**
      * Stencil operation: <code>DST = ~DST</code>
@@ -655,7 +657,7 @@
      *
      * @since Java 3D 1.4
      */
-    public static final int STENCIL_INVERT = 6;
+    @Native public static final int STENCIL_INVERT = 6;
 
    // Array for setting default read capabilities
     private static final int[] readCapabilities = {
--- java3d-1.5.2/j3d-core/src/classes/share/javax/media/j3d/RenderingAttributesRetained.java	2018-01-10 11:36:06.341594244 +0100
+++ java3d-1.5.2/j3d-core/src/classes/share/javax/media/j3d/RenderingAttributesRetained.java	2018-01-10 17:40:40.006908144 +0100
@@ -31,6 +31,7 @@
 
 package javax.media.j3d;
 
+import java.lang.annotation.Native;
 import java.util.ArrayList;
 
 /**
@@ -97,8 +98,8 @@
 
     // depth buffer comparison function. Used by multi-texturing only
     //[PEPE] NOTE: they are both unused. Candidates for removal.
-    static final int LESS = 0;
-    static final int LEQUAL = 1;
+    @Native static final int LESS = 0;
+    @Native static final int LEQUAL = 1;
 
     /**
      * Sets the visibility flag for this RenderingAttributes component object. 
--- java3d-1.5.2/j3d-core/src/classes/share/javax/media/j3d/RenderMolecule.java	2018-01-10 11:36:06.365594244 +0100
+++ java3d-1.5.2/j3d-core/src/classes/share/javax/media/j3d/RenderMolecule.java	2018-01-10 17:43:01.366908678 +0100
@@ -32,6 +32,7 @@
 package javax.media.j3d;
 
 import javax.vecmath.*;
+import java.lang.annotation.Native;
 import java.util.*;
 
 /**
@@ -51,8 +52,8 @@
     /**
      * Values for the geometryType field
      */
-    static final int POINT      = 0x01;
-    static final int LINE       = 0x02;
+    @Native static final int POINT      = 0x01;
+    @Native static final int LINE       = 0x02;
     static final int SURFACE    = 0x04;
     static final int RASTER     = 0x08;
     static final int COMPRESSED = 0x10; 
--- java3d-1.5.2/j3d-core/src/classes/share/javax/media/j3d/ShaderAttributeObjectRetained.java	2018-01-10 11:36:06.365594244 +0100
+++ java3d-1.5.2/j3d-core/src/classes/share/javax/media/j3d/ShaderAttributeObjectRetained.java	2018-01-10 19:15:10.501542031 +0100
@@ -31,6 +31,7 @@
 
 package javax.media.j3d;
 
+import java.lang.annotation.Native;
 import java.util.ArrayList;
 import javax.vecmath.*;
 
@@ -184,16 +185,16 @@
     // the tables of classes, so the values must start at 0 and
     // increment by 1. Also, the order must be the same as the order
     // of the entries in each of the two class tables.
-    static final int TYPE_INTEGER  =  0;
-    static final int TYPE_FLOAT    =  1;
-    static final int TYPE_TUPLE2I  =  2;
-    static final int TYPE_TUPLE2F  =  3;
-    static final int TYPE_TUPLE3I  =  4;
-    static final int TYPE_TUPLE3F  =  5;
-    static final int TYPE_TUPLE4I  =  6;
-    static final int TYPE_TUPLE4F  =  7;
-    static final int TYPE_MATRIX3F =  8;
-    static final int TYPE_MATRIX4F =  9;
+    @Native static final int TYPE_INTEGER  =  0;
+    @Native static final int TYPE_FLOAT    =  1;
+    @Native static final int TYPE_TUPLE2I  =  2;
+    @Native static final int TYPE_TUPLE2F  =  3;
+    @Native static final int TYPE_TUPLE3I  =  4;
+    @Native static final int TYPE_TUPLE3F  =  5;
+    @Native static final int TYPE_TUPLE4I  =  6;
+    @Native static final int TYPE_TUPLE4F  =  7;
+    @Native static final int TYPE_MATRIX3F =  8;
+    @Native static final int TYPE_MATRIX4F =  9;
 
     // Double-precision is not supported in the current version. Uncomment the
     // following if future support is done.
--- java3d-1.5.2/j3d-core/src/classes/share/javax/media/j3d/ShaderError.java	2018-01-10 11:36:06.369594244 +0100
+++ java3d-1.5.2/j3d-core/src/classes/share/javax/media/j3d/ShaderError.java	2018-01-10 19:13:54.319859877 +0100
@@ -32,6 +32,7 @@
 package javax.media.j3d;
 
 import java.io.PrintStream;
+import java.lang.annotation.Native;
 
 /**
  * ShaderError is a container object that holds the details of
@@ -56,48 +57,48 @@
     /**
      * Indicates that no error occurred.
      */
-    public static final int NO_ERROR = 0;
+    @Native public static final int NO_ERROR = 0;
 
     /**
      * Indicates that an error occurred while compiling a shader.
      */
-    public static final int COMPILE_ERROR = 1;
+    @Native public static final int COMPILE_ERROR = 1;
 
     /**
      * Indicates that an error occurred while linking a shader.
      */
-    public static final int LINK_ERROR = 2;
+    @Native public static final int LINK_ERROR = 2;
 
     /**
      * Indicates a error in looking up a vertex attribute
      * name within a given shader program.
      */
-    public static final int VERTEX_ATTRIBUTE_LOOKUP_ERROR = 3;
+    @Native public static final int VERTEX_ATTRIBUTE_LOOKUP_ERROR = 3;
 
     /**
      * Indicates a error in looking up the location of a uniform
      * shader attribute name within a given shader program.
      */
-    public static final int SHADER_ATTRIBUTE_LOOKUP_ERROR = 4;
+    @Native public static final int SHADER_ATTRIBUTE_LOOKUP_ERROR = 4;
 
     /**
      * Indicates a error caused by a ShaderAttribute whose name does not
      * appear in the list of shader attribute names in the corresponding
      * ShaderProgram object.
      */
-    public static final int SHADER_ATTRIBUTE_NAME_NOT_SET_ERROR = 5;
+    @Native public static final int SHADER_ATTRIBUTE_NAME_NOT_SET_ERROR = 5;
 
     /**
      * Indicates a error in the type of the attribute versus what the shader
      * program was expecting.
      */
-    public static final int SHADER_ATTRIBUTE_TYPE_ERROR = 6;
+    @Native public static final int SHADER_ATTRIBUTE_TYPE_ERROR = 6;
 
     /**
      * Indicates that the specified shading language is not supported
      * on the screen display device.
      */
-    public static final int UNSUPPORTED_LANGUAGE_ERROR = 7;
+    @Native public static final int UNSUPPORTED_LANGUAGE_ERROR = 7;
 
 
     /**
--- java3d-1.5.2/j3d-core/src/classes/share/javax/media/j3d/Shader.java	2018-01-10 11:36:06.349594244 +0100
+++ java3d-1.5.2/j3d-core/src/classes/share/javax/media/j3d/Shader.java	2018-01-10 19:12:44.463859613 +0100
@@ -31,6 +31,8 @@
 
 package javax.media.j3d;
 
+import java.lang.annotation.Native;
+
 /**
  * The Shader object is the abstract base class for programmable
  * shader code. Currently, only text-based source code shaders are
@@ -101,14 +103,14 @@
      * shader.  It is one of the possible values of the shaderType
      * parameter.
      */
-    public static final int SHADER_TYPE_VERTEX = 1;
+    @Native public static final int SHADER_TYPE_VERTEX = 1;
 
     /**
      * This constant indicates that the shader type is a fragment
      * shader.  It is one of the possible values of the shaderType
      * parameter.
      */
-    public static final int SHADER_TYPE_FRAGMENT = 2;
+    @Native public static final int SHADER_TYPE_FRAGMENT = 2;
 
 
     /**
--- java3d-1.5.2/j3d-core/src/classes/share/javax/media/j3d/TexCoordGeneration.java	2018-01-10 11:36:06.345594244 +0100
+++ java3d-1.5.2/j3d-core/src/classes/share/javax/media/j3d/TexCoordGeneration.java	2018-01-10 17:46:17.321869285 +0100
@@ -32,6 +32,7 @@
 package javax.media.j3d;
 
 import javax.vecmath.Vector4f;
+import java.lang.annotation.Native;
 
 /**
  * The TexCoordGeneration object contains all parameters needed for 
@@ -191,21 +192,21 @@
      *
      * @see #setGenMode
      */
-    public static final int OBJECT_LINEAR = 0;
+    @Native public static final int OBJECT_LINEAR = 0;
     /**
      * Generates texture coordinates as a linear function in
      * eye coordinates.
      *
      * @see #setGenMode
      */
-    public static final int EYE_LINEAR    = 1;
+    @Native public static final int EYE_LINEAR    = 1;
     /**
      * Generates texture coordinates using a spherical reflection
      * mapping in eye coordinates.
      *
      * @see #setGenMode
      */
-    public static final int SPHERE_MAP    = 2;
+    @Native public static final int SPHERE_MAP    = 2;
     /**
      * Generates texture coordinates that match vertices' normals in
      * eye coordinates.
@@ -215,7 +216,7 @@
      *
      * @since Java 3D 1.3
      */
-    public static final int NORMAL_MAP    = 3;
+    @Native public static final int NORMAL_MAP    = 3;
     /**
      * Generates texture coordinates that match vertices' reflection
      * vectors in eye coordinates.
@@ -225,7 +226,7 @@
      *
      * @since Java 3D 1.3
      */
-    public static final int REFLECTION_MAP = 4;
+    @Native public static final int REFLECTION_MAP = 4;
 
     // Definitions for format
     /**
@@ -233,13 +234,13 @@
      *
      * @see #setFormat
      */
-    public static final int TEXTURE_COORDINATE_2 = 0;
+    @Native public static final int TEXTURE_COORDINATE_2 = 0;
     /**
      * Generates 3D texture coordinates (S, T, and R).
      *
      * @see #setFormat
      */
-    public static final int TEXTURE_COORDINATE_3 = 1;
+    @Native public static final int TEXTURE_COORDINATE_3 = 1;
     /**
      * Generates 4D texture coordinates (S, T, R, and Q).
      *
@@ -247,7 +248,7 @@
      *
      * @since Java 3D 1.3
      */
-    public static final int TEXTURE_COORDINATE_4 = 2;
+    @Native public static final int TEXTURE_COORDINATE_4 = 2;
 
    // Array for setting default read capabilities
     private static final int[] readCapabilities = {
--- java3d-1.5.2/j3d-core/src/classes/share/javax/media/j3d/Texture2D.java	2018-01-10 11:36:06.357594244 +0100
+++ java3d-1.5.2/j3d-core/src/classes/share/javax/media/j3d/Texture2D.java	2018-01-10 19:20:33.058079119 +0100
@@ -32,7 +32,7 @@
 package javax.media.j3d;
 
 import javax.vecmath.*;
-
+import java.lang.annotation.Native;
 
 /**
  * Texture2D is a subclass of Texture class. It extends Texture
@@ -72,7 +72,7 @@
      * @since Java 3D 1.3
      * @see #setMagFilter
      */
-    public static final int LINEAR_DETAIL         = 6;
+    @Native public static final int LINEAR_DETAIL         = 6;
 
     /**
      * @deprecated As of Java 3D 1.5 the optional detail texture feature is no
@@ -84,7 +84,7 @@
      * @since Java 3D 1.3
      * @see #setMagFilter
      */
-    public static final int LINEAR_DETAIL_RGB     = 7;
+    @Native public static final int LINEAR_DETAIL_RGB     = 7;
 
     /**
      * @deprecated As of Java 3D 1.5 the optional detail texture feature is no
@@ -96,7 +96,7 @@
      * @since Java 3D 1.3
      * @see #setMagFilter
      */
-    public static final int LINEAR_DETAIL_ALPHA   = 8;
+    @Native public static final int LINEAR_DETAIL_ALPHA   = 8;
 
     /**
      * @deprecated As of Java 3D 1.5 the optional detail texture feature is no
--- java3d-1.5.2/j3d-core/src/classes/share/javax/media/j3d/TextureAttributes.java	2018-01-10 11:36:06.365594244 +0100
+++ java3d-1.5.2/j3d-core/src/classes/share/javax/media/j3d/TextureAttributes.java	2018-01-10 17:53:55.272670880 +0100
@@ -32,6 +32,7 @@
 package javax.media.j3d;
 
 import javax.vecmath.Color4f;
+import java.lang.annotation.Native;
 
 /**
  * The TextureAttributes object defines attributes that apply to
@@ -253,38 +254,38 @@
      * Use the fastest available method for perspective correction.
      * @see #setPerspectiveCorrectionMode
      */
-    public static final int FASTEST            = 0;
+    @Native public static final int FASTEST            = 0;
 
     /**
      * Use the nicest (highest quality) available method for texture
      * mapping perspective correction.
      * @see #setPerspectiveCorrectionMode
      */
-    public static final int NICEST             = 1;
+    @Native public static final int NICEST             = 1;
 
     /**
      * Modulate the object color with the texture color.
      * @see #setTextureMode
      */
-    public static final int MODULATE = 2;
+    @Native public static final int MODULATE = 2;
 
     /**
      * Apply the texture color to the object as a decal.
      * @see #setTextureMode
      */
-    public static final int DECAL    = 3;
+    @Native public static final int DECAL    = 3;
 
     /**
      * Blend the texture blend color with the object color.
      * @see #setTextureMode
      */
-    public static final int BLEND    = 4;
+    @Native public static final int BLEND    = 4;
 
     /**
      * Replace the object color with the texture color.
      * @see #setTextureMode
      */
-    public static final int REPLACE  = 5;
+    @Native public static final int REPLACE  = 5;
   
     /**
      * Combine the object color with texture color as specified in 
@@ -293,7 +294,7 @@
      * @see #setTextureMode
      * @since Java 3D 1.3
      */
-    public static final int COMBINE  = 6;
+    @Native public static final int COMBINE  = 6;
     
 
     /**
@@ -303,7 +304,7 @@
      * @see #setCombineRgbMode
      * @see #setCombineAlphaMode
      */
-    public static final int COMBINE_REPLACE     = 0;
+    @Native public static final int COMBINE_REPLACE     = 0;
 
     /**
      * Modulates one color with another color.
@@ -312,7 +313,7 @@
      * @see #setCombineRgbMode
      * @see #setCombineAlphaMode
      */
-    public static final int COMBINE_MODULATE    = 1;
+    @Native public static final int COMBINE_MODULATE    = 1;
 
     /**
      * Add two colors.
@@ -321,7 +322,7 @@
      * @see #setCombineRgbMode
      * @see #setCombineAlphaMode
      */
-    public static final int COMBINE_ADD         = 2;
+    @Native public static final int COMBINE_ADD         = 2;
 
     /**
      * Add two colors plus an implicit offset.
@@ -330,7 +331,7 @@
      * @see #setCombineRgbMode
      * @see #setCombineAlphaMode
      */
-    public static final int COMBINE_ADD_SIGNED  = 3;
+    @Native public static final int COMBINE_ADD_SIGNED  = 3;
 
     /**
      * Subtract one color from another color.
@@ -339,7 +340,7 @@
      * @see #setCombineRgbMode
      * @see #setCombineAlphaMode
      */
-    public static final int COMBINE_SUBTRACT    = 4;
+    @Native public static final int COMBINE_SUBTRACT    = 4;
 
     /**
      * Interpolate two colors with a factor.
@@ -348,7 +349,7 @@
      * @see #setCombineRgbMode
      * @see #setCombineAlphaMode
      */
-    public static final int COMBINE_INTERPOLATE = 5;
+    @Native public static final int COMBINE_INTERPOLATE = 5;
 
     /**
      * Dot product of two colors.
@@ -357,7 +358,7 @@
      * @see #setCombineRgbMode
      * @see #setCombineAlphaMode
      */
-    public static final int COMBINE_DOT3        = 6;
+    @Native public static final int COMBINE_DOT3        = 6;
 
    
     /**
@@ -367,7 +368,7 @@
      * @see #setCombineRgbSource
      * @see #setCombineAlphaSource
      */
-    public static final int COMBINE_OBJECT_COLOR	= 0;
+    @Native public static final int COMBINE_OBJECT_COLOR	= 0;
 
     /**
      * Texture color of the corresponding texture unit state.
@@ -376,7 +377,7 @@
      * @see #setCombineRgbSource
      * @see #setCombineAlphaSource
      */
-    public static final int COMBINE_TEXTURE_COLOR	= 1;
+    @Native public static final int COMBINE_TEXTURE_COLOR	= 1;
 
     /**
      * Texture blend color. 
@@ -385,7 +386,7 @@
      * @see #setCombineRgbSource
      * @see #setCombineAlphaSource
      */
-    public static final int COMBINE_CONSTANT_COLOR	= 2;
+    @Native public static final int COMBINE_CONSTANT_COLOR	= 2;
 
     /**
      * Color from the previous texture unit state.
@@ -394,7 +395,7 @@
      * @see #setCombineRgbSource
      * @see #setCombineAlphaSource
      */
-    public static final int COMBINE_PREVIOUS_TEXTURE_UNIT_STATE	= 3;
+    @Native public static final int COMBINE_PREVIOUS_TEXTURE_UNIT_STATE	= 3;
 
     /** 
      * Color function is f = C<sub>rgb</sub>
@@ -402,7 +403,7 @@
      * @since Java 3D 1.3
      * @see #setCombineRgbFunction
      */
-    public static final int COMBINE_SRC_COLOR		= 0;
+    @Native public static final int COMBINE_SRC_COLOR		= 0;
 
     /** 
      * Color function is f = (1 - C<sub>rgb</sub>)
@@ -410,7 +411,7 @@
      * @since Java 3D 1.3
      * @see #setCombineRgbFunction
      */
-    public static final int COMBINE_ONE_MINUS_SRC_COLOR	= 1;
+    @Native public static final int COMBINE_ONE_MINUS_SRC_COLOR	= 1;
 
     /** 
      * Color function is f = C<sub>a</sub>
@@ -419,7 +420,7 @@
      * @see #setCombineRgbFunction
      * @see #setCombineAlphaFunction
      */
-    public static final int COMBINE_SRC_ALPHA		= 2;
+    @Native public static final int COMBINE_SRC_ALPHA		= 2;
 
     /** 
      * Color function is f = (1 - C<sub>a</sub>)
@@ -428,7 +429,7 @@
      * @see #setCombineRgbFunction
      * @see #setCombineAlphaFunction
      */
-    public static final int COMBINE_ONE_MINUS_SRC_ALPHA	= 3;
+    @Native public static final int COMBINE_ONE_MINUS_SRC_ALPHA	= 3;
 
    // Array for setting default read capabilities
     private static final int[] readCapabilities = {
--- java3d-1.5.2/j3d-core/src/classes/share/javax/media/j3d/Texture.java	2018-01-10 11:36:06.353594244 +0100
+++ java3d-1.5.2/j3d-core/src/classes/share/javax/media/j3d/Texture.java	2018-01-10 17:51:56.852670433 +0100
@@ -32,6 +32,7 @@
 package javax.media.j3d;
 
 import javax.vecmath.*;
+import java.lang.annotation.Native;
 import java.util.Hashtable;
 
 /**
@@ -378,7 +379,7 @@
      * @see #setMinFilter
 	 * @see #setMagFilter
 	 */
-    public static final int FASTEST = 0;
+    @Native public static final int FASTEST = 0;
     /**
      * Uses the nicest available method for processing geometry.
      * This value can be used as a parameter to setMinFilter and
@@ -386,7 +387,7 @@
      * @see #setMinFilter
      * @see #setMagFilter
      */
-    public static final int NICEST  = 1;
+    @Native public static final int NICEST  = 1;
 
     /**
      * Select the nearest texel in level 0 texture map.
@@ -394,7 +395,7 @@
      * @see #setMinFilter
      * @see #setMagFilter
      */
-    public static final int BASE_LEVEL_POINT = 2;
+    @Native public static final int BASE_LEVEL_POINT = 2;
   
     /**
      * Performs bilinear interpolation on the four nearest texels
@@ -403,14 +404,14 @@
      * @see #setMinFilter
      * @see #setMagFilter
      */
-    public static final int BASE_LEVEL_LINEAR = 3;
+    @Native public static final int BASE_LEVEL_LINEAR = 3;
   
     /**
      * Selects the nearest texel in the nearest mipmap.
      * Maps to NEAREST_MIPMAP_NEAREST.
      * @see #setMinFilter
      */
-    public static final int MULTI_LEVEL_POINT = 4;
+    @Native public static final int MULTI_LEVEL_POINT = 4;
   
     /**
      * Performs tri-linear interpolation of texels between four
@@ -419,7 +420,7 @@
      * fall back to LINEAR_MIPMAP_NEAREST or NEAREST_MIPMAP_LINEAR.
      * @see #setMinFilter
      */
-    public static final int MULTI_LEVEL_LINEAR    = 5;
+    @Native public static final int MULTI_LEVEL_LINEAR    = 5;
 
     // NOTE: values 6, 7, and 8 are reserved for the LINEAR_DETAIL*
     // filter modes in Texture2D
@@ -432,7 +433,7 @@
      * @since Java 3D 1.3
      * @see #setMagFilter
      */
-    public static final int LINEAR_SHARPEN        = 9;
+    @Native public static final int LINEAR_SHARPEN        = 9;
 
     /**
      * Performs linear sharpen filter for the rgb
@@ -442,7 +443,7 @@
      * @since Java 3D 1.3
      * @see #setMagFilter
      */
-    public static final int LINEAR_SHARPEN_RGB    = 10;
+    @Native public static final int LINEAR_SHARPEN_RGB    = 10;
 
     /**
      * Performs linear sharpen filter for the alpha
@@ -452,7 +453,7 @@
      * @since Java 3D 1.3
      * @see #setMagFilter
      */
-    public static final int LINEAR_SHARPEN_ALPHA  = 11;
+    @Native public static final int LINEAR_SHARPEN_ALPHA  = 11;
 
     /**
      * Applies an application-supplied weight function
@@ -462,7 +463,7 @@
      * @see #setMinFilter
      * @see #setMagFilter
      */
-    public static final int FILTER4               = 12;
+    @Native public static final int FILTER4               = 12;
   
     // Texture boundary mode parameter values
     /**
@@ -471,13 +472,13 @@
      * width is 0 will be used for U,V values that fall
      * outside this range.
      */
-    public static final int CLAMP  = 2;
+    @Native public static final int CLAMP  = 2;
     /**
      * Repeats the texture by wrapping texture coordinates that are outside
      * the range [0,1].  Only the fractional portion of the texture
      * coordinates is used; the integer portion is discarded.
      */
-    public static final int WRAP = 3;
+    @Native public static final int WRAP = 3;
     /**
      * Clamps texture coordinates such that filtering
      * will not sample a texture boundary texel. Texels at the edge of the
@@ -485,7 +486,7 @@
      *
      * @since Java 3D 1.3
      */
-    public static final int CLAMP_TO_EDGE = 4;
+    @Native public static final int CLAMP_TO_EDGE = 4;
     /**
      * Clamps texture coordinates such that filtering
      * will sample only texture boundary texels. If the texture does not
@@ -494,14 +495,14 @@
      *
      * @since Java 3D 1.3
      */
-    public static final int CLAMP_TO_BOUNDARY = 5;
+    @Native public static final int CLAMP_TO_BOUNDARY = 5;
 
 
     /**
      * Indicates that Texture object only has one level. If multiple
      * levels are needed, they will be implicitly computed.
      */
-    public static final int BASE_LEVEL = 1;
+    @Native public static final int BASE_LEVEL = 1;
 
     /**
      * Indicates that this Texture object has multiple images, one for 
@@ -509,40 +510,40 @@
      * <code>log<sub><font size=-2>2</font></sub>(max(width,height))+1</code>
      * separate images.
      */
-    public static final int MULTI_LEVEL_MIPMAP = 2;
+    @Native public static final int MULTI_LEVEL_MIPMAP = 2;
 
     // Texture format parameter values
 
     /**
      * Specifies Texture contains only Intensity values.
      */
-    public static final int INTENSITY = 1;
+    @Native public static final int INTENSITY = 1;
 
     /**
      * Specifies Texture contains only luminance values.
      */
-    public static final int LUMINANCE = 2;
+    @Native public static final int LUMINANCE = 2;
 
     /**
      * Specifies Texture contains only Alpha values.
      */
-    public static final int ALPHA = 3;
+    @Native public static final int ALPHA = 3;
 
     /**
      * Specifies Texture contains Luminance and Alpha values.
      */
-    public static final int LUMINANCE_ALPHA = 4;
+    @Native public static final int LUMINANCE_ALPHA = 4;
 
     /**
      * Specifies Texture contains Red, Green and Blue color values.
      */
-    public static final int RGB = 5;
+    @Native public static final int RGB = 5;
 
     /**
      * Specifies Texture contains Red, Green, Blue color values
      * and Alpha value.
      */
-    public static final int RGBA = 6;
+    @Native public static final int RGBA = 6;
 
     /**
      * No anisotropic filter.
@@ -550,7 +551,7 @@
      * @since Java 3D 1.3
      * @see #setAnisotropicFilterMode
      */
-    public static final int ANISOTROPIC_NONE = 0;
+    @Native public static final int ANISOTROPIC_NONE = 0;
 
     /**
      * Uses the degree of anisotropy in both the minification and
@@ -559,7 +560,7 @@
      * @since Java 3D 1.3
      * @see #setAnisotropicFilterMode
      */
-    public static final int ANISOTROPIC_SINGLE_VALUE = 1;
+    @Native public static final int ANISOTROPIC_SINGLE_VALUE = 1;
 
        // Array for setting default read capabilities
     private static final int[] readCapabilities = {
--- java3d-1.5.2/j3d-core/src/classes/share/javax/media/j3d/TransparencyAttributes.java	2018-01-10 11:36:06.369594244 +0100
+++ java3d-1.5.2/j3d-core/src/classes/share/javax/media/j3d/TransparencyAttributes.java	2018-01-10 19:16:28.949542327 +0100
@@ -31,6 +31,8 @@
 
 package javax.media.j3d;
 
+import java.lang.annotation.Native;
+
 /**
  * The TransparencyAttributes object defines all attributes affecting
  * transparency of the object. The transparency attributes are:<p>
@@ -146,13 +148,13 @@
      * Use the fastest available method for transparency.
      * @see #setTransparencyMode
      */
-    public static final int FASTEST            = 0;
+    @Native public static final int FASTEST            = 0;
 
     /**
      * Use the nicest available method for transparency.
      * @see #setTransparencyMode
      */
-    public static final int NICEST             = 1;
+    @Native public static final int NICEST             = 1;
 
     /**
      * Use alpha blended transparency.  The blend equation is
@@ -180,7 +182,7 @@
      * @see #setSrcBlendFunction
      * @see #setDstBlendFunction
      */
-    public static final int BLENDED     = 2;
+    @Native public static final int BLENDED     = 2;
 
     /**
      * Use screen-door transparency.  This is done using an on/off stipple
@@ -189,13 +191,13 @@
      * parameter.
      * @see #setTransparencyMode
      */
-    public static final int SCREEN_DOOR = 3;
+    @Native public static final int SCREEN_DOOR = 3;
 
     /**
      * No transparency, opaque object.
      * @see #setTransparencyMode
      */
-    public static final int NONE     = 4;
+    @Native public static final int NONE     = 4;
 
     /**
      * Blend function: <code>f = 0</code>.
@@ -204,7 +206,7 @@
      *
      * @since Java 3D 1.2
      */
-    public static final int BLEND_ZERO = 0;
+    @Native public static final int BLEND_ZERO = 0;
 
     /**
      * Blend function: <code>f = 1</code>.
@@ -213,7 +215,7 @@
      *
      * @since Java 3D 1.2
      */
-    public static final int BLEND_ONE = 1;
+    @Native public static final int BLEND_ONE = 1;
 
     /**
      * Blend function:
@@ -223,7 +225,7 @@
      *
      * @since Java 3D 1.2
      */
-    public static final int BLEND_SRC_ALPHA = 2;
+    @Native public static final int BLEND_SRC_ALPHA = 2;
 
     /**
      * Blend function:
@@ -233,7 +235,7 @@
      *
      * @since Java 3D 1.2
      */
-    public static final int BLEND_ONE_MINUS_SRC_ALPHA = 3;
+    @Native public static final int BLEND_ONE_MINUS_SRC_ALPHA = 3;
 
     /**
      * Blend function:
@@ -244,7 +246,7 @@
      *
      * @since Java 3D 1.4
      */
-    public static final int BLEND_DST_COLOR = 4;
+    @Native public static final int BLEND_DST_COLOR = 4;
 
     /**
      * Blend function:
@@ -255,7 +257,7 @@
      *
      * @since Java 3D 1.4
      */
-    public static final int BLEND_ONE_MINUS_DST_COLOR = 5;
+    @Native public static final int BLEND_ONE_MINUS_DST_COLOR = 5;
 
     /**
      * Blend function:
@@ -266,7 +268,7 @@
      *
      * @since Java 3D 1.4
      */
-    public static final int BLEND_SRC_COLOR = 6;
+    @Native public static final int BLEND_SRC_COLOR = 6;
 
     /**
      * Blend function:
@@ -277,11 +279,11 @@
      *
      * @since Java 3D 1.4
      */
-    public static final int BLEND_ONE_MINUS_SRC_COLOR = 7;
+    @Native public static final int BLEND_ONE_MINUS_SRC_COLOR = 7;
 
-    static final int BLEND_CONSTANT_COLOR = 8;
+    @Native static final int BLEND_CONSTANT_COLOR = 8;
 
-    static final int MAX_BLEND_FUNC_TABLE_SIZE = 9;
+    @Native static final int MAX_BLEND_FUNC_TABLE_SIZE = 9;
 
    // Array for setting default read capabilities
     private static final int[] readCapabilities = {
--- java3d-1.5.2/j3d-core/src/native/build.xml	2018-01-10 11:36:06.373594244 +0100
+++ java3d-1.5.2/j3d-core/src/native/build.xml	2018-01-10 19:24:53.194080101 +0100
@@ -67,7 +67,7 @@
 	<property name="javahCoreSrc"     
 	 location="${src}/classes/share/javax/media/j3d"/>
   	<property name="javahCoreTarget"  
-	 location="${build}/${platform}/${bldType}/native/javah/j3dcore"/>
+	 location="${build}/${platform}/native/javah/j3dcore"/>
   </target>
 
   <target name="nativeSetup-opt-solaris" if="isSolarisOnSparc">
@@ -133,292 +133,14 @@
 	<property name="javahCoreSrc"     
 	 location="${src}/classes/share/javax/media/j3d"/>
   	<property name="javahCoreTarget"
-  	 location="${build}/${platform}/${bldType}/native/javah/j3dcore"/>
+  	 location="${build}/${platform}/native/javah/j3dcore"/>
   </target>
 
-  <target name="dependencyCheck">
-
-     <!-- ==== source/target out-of-date checking for JNI header files ==== -->
-       <condition property="javahBuild.notRequired"> 
-       	  <and>
-	    <uptodate
-     	     srcfile="${javahCoreSrc}/Background.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_Background.h"/>
-	    <uptodate
-     	     srcfile="${javahCoreSrc}/Canvas3D.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_Canvas3D.h"/>
-	    <uptodate
-     	     srcfile="${javahCoreSrc}/ColoringAttributes.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_ColoringAttributes.h"/>
-	    <uptodate
-     	     srcfile="${javahCoreSrc}/ColoringAttributesRetained.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_ColoringAttributesRetained.h"/>
-	    <uptodate
-     	     srcfile="${javahCoreSrc}/CompressedGeometryRetained.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_CompressedGeometryRetained.h"/>
-	    <uptodate
-     	     srcfile="${javahCoreSrc}/DepthComponentRetained.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_DepthComponentRetained.h"/>
-	    <uptodate
-     	     srcfile="${javahCoreSrc}/DirectionalLightRetained.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_DirectionalLightRetained.h"/>
-	    <uptodate
-     	     srcfile="${javahCoreSrc}/DisplayListRenderMethod.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_DisplayListRenderMethod.h"/>
-	    <uptodate
-     	     srcfile="${javahCoreSrc}/DrawingSurfaceObjectAWT.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_DrawingSurfaceObjectAWT.h"/>
-	    <uptodate
-     	     srcfile="${javahCoreSrc}/ExponentialFogRetained.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_ExponentialFogRetained.h"/>
-	    <uptodate
-     	     srcfile="${javahCoreSrc}/GeometryArray.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_GeometryArray.h"/>
-	    <uptodate
-     	     srcfile="${javahCoreSrc}/GeometryArrayRetained.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_GeometryArrayRetained.h"/>
-	    <uptodate
-     	     srcfile="${javahCoreSrc}/GeometryRetained.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_GeometryRetained.h"/>
-	    <uptodate
-     	     srcfile="${javahCoreSrc}/GraphicsContext3D.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_GraphicsContext3D.h"/>
-	    <uptodate
-     	     srcfile="${javahCoreSrc}/ImageComponent.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_ImageComponent.h"/>
-	    <uptodate
-     	     srcfile="${javahCoreSrc}/ImageComponent2DRetained.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_ImageComponent2DRetained.h"/>
-	    <uptodate
-     	     srcfile="${javahCoreSrc}/ImageComponentRetained.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_ImageComponentRetained.h"/>
-	    <uptodate
-     	     srcfile="${javahCoreSrc}/IndexedGeometryArrayRetained.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_IndexedGeometryArrayRetained.h"/>
-	    <uptodate
-     	     srcfile="${javahCoreSrc}/LineAttributes.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_LineAttributes.h"/>
-	    <uptodate
-     	     srcfile="${javahCoreSrc}/LineAttributesRetained.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_LineAttributesRetained.h"/>
-	    <uptodate
-     	     srcfile="${javahCoreSrc}/LinearFogRetained.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_LinearFogRetained.h"/>
-	    <uptodate
-     	     srcfile="${javahCoreSrc}/MasterControl.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_MasterControl.h"/>
-	    <uptodate
-     	     srcfile="${javahCoreSrc}/Material.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_Material.h"/>
-	    <uptodate
-     	     srcfile="${javahCoreSrc}/MaterialRetained.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_MaterialRetained.h"/>
-	    <uptodate
-     	     srcfile="${javahCoreSrc}/ModelClipRetained.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_ModelClipRetained.h"/>
-	    <uptodate
-             srcfile="${javahCoreSrc}/NativePipeline.java"
-             targetfile="${javahCoreTarget}/javax_media_j3d_NativePipeline.h"/>
-            <uptodate
-     	     srcfile="${javahCoreSrc}/NativeConfigTemplate3D.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_NativeConfigTemplate3D.h"/>
-            <uptodate
-     	     srcfile="${src}/classes/${wstype}/javax/media/j3d/${osNativeConfigTemplate3D}.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_${osNativeConfigTemplate3D}.h"/>
-            <uptodate
-     	     srcfile="${src}/classes/${wstype}/javax/media/j3d/${osNativeScreenInfo}.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_${osNativeScreenInfo}.h"/>
-	    <uptodate
-     	     srcfile="${javahCoreSrc}/NodeRetained.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_NodeRetained.h"/>
-	    <uptodate
-     	     srcfile="${javahCoreSrc}/PointAttributesRetained.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_PointAttributesRetained.h"/>
-	    <uptodate
-     	     srcfile="${javahCoreSrc}/PointLightRetained.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_PointLightRetained.h"/>
-	    <uptodate
-     	     srcfile="${javahCoreSrc}/PolygonAttributes.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_PolygonAttributes.h"/>
-	    <uptodate
-     	     srcfile="${javahCoreSrc}/PolygonAttributesRetained.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_PolygonAttributesRetained.h"/>
-	    <uptodate
-     	     srcfile="${javahCoreSrc}/Raster.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_Raster.h"/>
-	    <uptodate
-     	     srcfile="${javahCoreSrc}/RasterRetained.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_RasterRetained.h"/>
-	    <uptodate
-     	     srcfile="${javahCoreSrc}/RenderMolecule.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_RenderMolecule.h"/>
-	    <uptodate
-     	     srcfile="${javahCoreSrc}/Renderer.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_Renderer.h"/>
-	    <uptodate
-     	     srcfile="${javahCoreSrc}/RenderingAttributes.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_RenderingAttributes.h"/>
-	    <uptodate
-     	     srcfile="${javahCoreSrc}/RenderingAttributesRetained.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_RenderingAttributesRetained.h"/>
-	    <uptodate
-     	     srcfile="${javahCoreSrc}/SpotLightRetained.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_SpotLightRetained.h"/>
-	    <uptodate
-     	     srcfile="${javahCoreSrc}/TexCoordGeneration.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_TexCoordGeneration.h"/>
-	    <uptodate
-     	     srcfile="${javahCoreSrc}/TexCoordGenerationRetained.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_TexCoordGenerationRetained.h"/>
-	    <uptodate
-     	     srcfile="${javahCoreSrc}/Texture.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_Texture.h"/>
-	    <uptodate
-     	     srcfile="${javahCoreSrc}/Texture2D.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_Texture2D.h"/>
-	    <uptodate
-     	     srcfile="${javahCoreSrc}/Texture2DRetained.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_Texture2DRetained.h"/>
-	    <uptodate
-     	     srcfile="${javahCoreSrc}/Texture3DRetained.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_Texture3DRetained.h"/>
-	    <uptodate
-     	     srcfile="${javahCoreSrc}/TextureAttributes.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_TextureAttributes.h"/>
-	    <uptodate
-     	     srcfile="${javahCoreSrc}/TextureAttributesRetained.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_TextureAttributesRetained.h"/>
-	    <uptodate
-     	     srcfile="${javahCoreSrc}/TextureCubeMapRetained.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_TextureCubeMapRetained.h"/>
-	    <uptodate
-     	     srcfile="${javahCoreSrc}/TextureRetained.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_TextureRetained.h"/>
-	    <uptodate
-     	     srcfile="${javahCoreSrc}/TextureUnitStateRetained.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_TextureUnitStateRetained.h"/>
-	    <uptodate
-     	     srcfile="${javahCoreSrc}/TransparencyAttributes.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_TransparencyAttributes.h"/>
-	    <uptodate
-     	     srcfile="${javahCoreSrc}/TransparencyAttributesRetained.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_TransparencyAttributesRetained.h"/>
-	    <uptodate
-     	     srcfile="${javahCoreSrc}/GLSLShaderProgramRetained.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_GLSLShaderProgramRetained.h"/>
-	    <uptodate
-     	     srcfile="${javahCoreSrc}/CgShaderProgramRetained.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_CgShaderProgramRetained.h"/>
-	    <uptodate
-     	     srcfile="${javahCoreSrc}/Shader.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_Shader.h"/>
-	    <uptodate
-     	     srcfile="${javahCoreSrc}/ShaderAttributeObjectRetained.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_ShaderAttributeObjectRetained.h"/>
-	    <uptodate
-     	     srcfile="${javahCoreSrc}/ShaderError.java"
-    	     targetfile="${javahCoreTarget}/javax_media_j3d_ShaderError.h"/>
-	  </and>
-       </condition>
-       <echo message="javahBuild.notRequired = ${javahBuild.notRequired}"/>
-
-     <!-- ==== source/target out-of-date checking for JNI header files ==== -->
-     <!-- ==== and obj files                                           ==== -->	
-       <condition property="nativeOGLBuild.notRequired"> 
-       	  <and>
-	    <istrue value="${javahBuild.notRequired}"/>
-	    <uptodate>
-    	      <srcfiles dir= "${src}/native/${build.rend}" includes="*.c,*.h,*.cpp,*.hpp"/>
-    	      <mapper type="merge" from="*.c,*.h,*.cpp,*.hpp" 
-		      to="${build}/${platform}/${bldType}/${coreLibDependency}"/>
-            </uptodate>
-	  </and>
-       </condition>
-       <echo message="nativeOGLBuild.notRequired = ${nativeOGLBuild.notRequired}"/>
-  </target>
-
-  <target name="genJavah" unless="javahBuild.notRequired">
-
-    <!-- Create the build directory structure used for JNI header -->
-    <mkdir dir="${javahCoreTarget}"/>
-
-    <!-- Generate JNI headers from ${build}/${platform}/${bldType}/classes -->
-    <!-- into ${javahCoreTarget} -->
-    <javah destdir="${javahCoreTarget}" force="yes">
-	<classpath>
-	    <pathelement path="${build}/${platform}/${bldType}/classes"/>
-	    <pathelement path="${vecmath_home}/build/opt/lib/ext/vecmath.jar" />
-	</classpath>
-	
-	<class name="javax.media.j3d.Background"/>
-	<class name="javax.media.j3d.Canvas3D"/>
-	<class name="javax.media.j3d.ColoringAttributes"/>
-	<class name="javax.media.j3d.ColoringAttributesRetained"/>
-	<class name="javax.media.j3d.CompressedGeometryRetained"/>
-	<class name="javax.media.j3d.DepthComponentRetained"/>
-	<class name="javax.media.j3d.DirectionalLightRetained"/>
-	<class name="javax.media.j3d.DisplayListRenderMethod"/>
-	<class name="javax.media.j3d.DrawingSurfaceObjectAWT"/>
-	<class name="javax.media.j3d.ExponentialFogRetained"/>
-	<class name="javax.media.j3d.GeometryArray"/>
-	<class name="javax.media.j3d.GeometryArrayRetained"/>
-	<class name="javax.media.j3d.GeometryRetained"/>
-	<class name="javax.media.j3d.GraphicsContext3D"/>
-	<class name="javax.media.j3d.ImageComponent"/>
-	<class name="javax.media.j3d.ImageComponent2DRetained"/>
-	<class name="javax.media.j3d.ImageComponentRetained"/>
-	<class name="javax.media.j3d.IndexedGeometryArrayRetained"/>
-	<class name="javax.media.j3d.LineAttributes"/>
-	<class name="javax.media.j3d.LineAttributesRetained"/>
-	<class name="javax.media.j3d.LinearFogRetained"/>
-	<class name="javax.media.j3d.MasterControl"/>
-	<class name="javax.media.j3d.Material"/>
-	<class name="javax.media.j3d.MaterialRetained"/>
-	<class name="javax.media.j3d.ModelClipRetained"/>
-        <class name="javax.media.j3d.NativePipeline"/>
-	<class name="javax.media.j3d.NativeConfigTemplate3D"/>
-	<class name="javax.media.j3d.${osNativeConfigTemplate3D}"/>
-	<class name="javax.media.j3d.${osNativeScreenInfo}"/>
-	<class name="javax.media.j3d.NodeRetained"/>
-	<class name="javax.media.j3d.PointAttributesRetained"/>
-	<class name="javax.media.j3d.PointLightRetained"/>
-	<class name="javax.media.j3d.PolygonAttributes"/>
-	<class name="javax.media.j3d.PolygonAttributesRetained"/>
-	<class name="javax.media.j3d.Raster"/>
-	<class name="javax.media.j3d.RasterRetained"/>
-	<class name="javax.media.j3d.RenderMolecule"/>
-	<class name="javax.media.j3d.Renderer"/>
-	<class name="javax.media.j3d.RenderingAttributes"/>
-	<class name="javax.media.j3d.RenderingAttributesRetained"/>
-	<class name="javax.media.j3d.SpotLightRetained"/>
-	<class name="javax.media.j3d.TexCoordGeneration"/>
-	<class name="javax.media.j3d.TexCoordGenerationRetained"/>
-	<class name="javax.media.j3d.Texture"/>
-	<class name="javax.media.j3d.Texture2D"/>
-	<class name="javax.media.j3d.Texture2DRetained"/>
-	<class name="javax.media.j3d.Texture3DRetained"/>
-	<class name="javax.media.j3d.TextureAttributes"/>
-	<class name="javax.media.j3d.TextureAttributesRetained"/>
-	<class name="javax.media.j3d.TextureCubeMapRetained"/>
-	<class name="javax.media.j3d.TextureRetained"/>
-	<class name="javax.media.j3d.TextureUnitStateRetained"/>
-	<class name="javax.media.j3d.TransparencyAttributes"/>
-	<class name="javax.media.j3d.TransparencyAttributesRetained"/>
-	<class name="javax.media.j3d.GLSLShaderProgramRetained"/>
-	<class name="javax.media.j3d.CgShaderProgramRetained"/>
-	<class name="javax.media.j3d.Shader"/>
-	<class name="javax.media.j3d.ShaderAttributeObjectRetained"/>
-	<class name="javax.media.j3d.ShaderError"/>
-
-    </javah>
-
-  </target>
-
-  <target name="compile-debug" depends="nativeSetup-debug, dependencyCheck, genJavah" unless="nativeOGLBuild.notRequired">
+  <target name="compile-debug" depends="nativeSetup-debug" unless="nativeOGLBuild.notRequired">
 	<ant antfile="build-${platform}.xml" dir="${build.rend}" target="compile"/>
   </target>
 
-  <target name="compile-opt" depends="nativeSetup-opt, dependencyCheck, genJavah" 
+  <target name="compile-opt" depends="nativeSetup-opt" 
 	  unless="nativeOGLBuild.notRequired">
 	   <ant antfile="build-${platform}.xml" dir="${build.rend}" target="compile"/>
   </target>
--- java3d-1.5.2/j3d-core/src/native/ogl/gldefs.h	2018-01-10 11:36:06.373594244 +0100
+++ java3d-1.5.2/j3d-core/src/native/ogl/gldefs.h	2018-01-10 19:22:26.594079547 +0100
@@ -125,59 +125,29 @@
 #endif /* WIN32 */
 
 /* include those .h files generated by javah */
-#include "javax_media_j3d_Background.h"
 #include "javax_media_j3d_Canvas3D.h"
 #include "javax_media_j3d_ColoringAttributes.h"
-#include "javax_media_j3d_ColoringAttributesRetained.h"
 #include "javax_media_j3d_DepthComponentRetained.h"
-#include "javax_media_j3d_DirectionalLightRetained.h"
-#include "javax_media_j3d_DisplayListRenderMethod.h"
 #include "javax_media_j3d_DrawingSurfaceObjectAWT.h"
-#include "javax_media_j3d_ExponentialFogRetained.h"
 #include "javax_media_j3d_GeometryRetained.h"
 #include "javax_media_j3d_GeometryArray.h"
 #include "javax_media_j3d_GeometryArrayRetained.h"
-#include "javax_media_j3d_GraphicsContext3D.h"
 #include "javax_media_j3d_ImageComponent.h"
 #include "javax_media_j3d_ImageComponentRetained.h"
-#include "javax_media_j3d_ImageComponent2DRetained.h"
-#include "javax_media_j3d_IndexedGeometryArrayRetained.h"
 #include "javax_media_j3d_LineAttributes.h"
-#include "javax_media_j3d_LineAttributesRetained.h"
-#include "javax_media_j3d_LinearFogRetained.h"
-#include "javax_media_j3d_MasterControl.h"
 #include "javax_media_j3d_Material.h"
-#include "javax_media_j3d_MaterialRetained.h"
-#include "javax_media_j3d_ModelClipRetained.h"
 #include "javax_media_j3d_NativeConfigTemplate3D.h"
 #include "javax_media_j3d_NativePipeline.h"
-#include "javax_media_j3d_NodeRetained.h"
-#include "javax_media_j3d_PointAttributesRetained.h"
-#include "javax_media_j3d_PointLightRetained.h"
 #include "javax_media_j3d_PolygonAttributes.h"
-#include "javax_media_j3d_PolygonAttributesRetained.h"
 #include "javax_media_j3d_Raster.h"
-#include "javax_media_j3d_RasterRetained.h"
-#include "javax_media_j3d_Renderer.h"
 #include "javax_media_j3d_RenderingAttributes.h"
 #include "javax_media_j3d_RenderingAttributesRetained.h"
 #include "javax_media_j3d_RenderMolecule.h"
-#include "javax_media_j3d_SpotLightRetained.h"
 #include "javax_media_j3d_TexCoordGeneration.h"
-#include "javax_media_j3d_TexCoordGenerationRetained.h"
 #include "javax_media_j3d_Texture.h"
 #include "javax_media_j3d_Texture2D.h"
-#include "javax_media_j3d_Texture2DRetained.h"
-#include "javax_media_j3d_Texture3DRetained.h"
 #include "javax_media_j3d_TextureAttributes.h"
-#include "javax_media_j3d_TextureAttributesRetained.h"
-#include "javax_media_j3d_TextureCubeMapRetained.h"
-#include "javax_media_j3d_TextureRetained.h"
-#include "javax_media_j3d_TextureUnitStateRetained.h"
 #include "javax_media_j3d_TransparencyAttributes.h"
-#include "javax_media_j3d_TransparencyAttributesRetained.h"
-#include "javax_media_j3d_GLSLShaderProgramRetained.h"
-#include "javax_media_j3d_CgShaderProgramRetained.h"
 #include "javax_media_j3d_Shader.h"
 #include "javax_media_j3d_ShaderAttributeObjectRetained.h"
 #include "javax_media_j3d_ShaderError.h"
openSUSE Build Service is sponsored by