Java 3D(TM) 1.3 Beta 1 README file for Linux/OpenGL This file contains important information for users of Java 3D(TM). The first four sections (Requirements, Installation, Shared Contexts, and Running Java 3D(TM) in a Browser) are of interest to all Java 3D(TM) users. The rest of this file applies only to developers of Java 3D(TM) applications. ** It is recommended that any previous version of Java 3D(TM) be ** uninstalled before installing this version. ============ REQUIREMENTS ============ This version of Java 3D(TM) for Linux requires the following: Java 2 Runtime or SDK version 1.3.1 or later from Blackdown (http://www.blackdown.org/) or Sun Microsystems (http://java.sun.com/j2se/). XFree86 3.3.6 with Mesa 3.1 or later or XFree86 4.1 or later with XFree86's Mesa library and DRI or XFree86 4.1 with NVidia drivers 1.0-2313 or later or XFree86 4.1 with an official (ie. not XFree86's) Mesa library (http://www.mesa3d.org/) if you can't or don't want to use DRI Note that XFree86 4 with XFree86's Mesa library without DRI is not supported at this time! Most likely the XServer will crash when you close Java3D application with that setup. ============ INSTALLATION ============ You must have permission to write files in your Java(TM) Runtime Environment and/or SDK directories. If you do not have this permission, the installer will run to completion but Java 3D(TM) will not be installed. Make sure you are running Java(TM) from your local machine and that you are the same user who installed Java. Java3D 1.3-beta1 SDK: --------------------- Change your working directory to the the top level directory of the J2SDK you wish to install Java 3D(TM) into. Then run java3d-sdk-1.3-beta1-linux-.bin to extract (tar and bzip2 must be installed to do this) E.g.: cd /usr/lib/j2sdk1.3.1 /bin/bash ~/java3d-sdk-1.3-beta1-linux-i386.bin After installation, you may remove the archive. The Java 3D(TM) SDK includes several demo programs that can verify correct installation. Assuming your Java 2 SDK is installed at /usr/lib/js2dk1.3.1, try the following: cd /usr/lib/j2sdk1.3.1/demo/java3d/HelloUniverse java HelloUniverse Java3D 1.3-beta1 Runtime Environment: ------------------------------------- Change your working directory to the the top level directory of the J2RE you wish to install Java 3D(TM) into. Then run java3d-re-1.3-beta1-linux-.bin to extract (tar and bzip2 must be installed to do this) E.g.: cd /usr/lib/j2sdk1.3.1 /bin/bash ~/java3d-re-1.3-beta1-linux-i386.bin After installation, you may remove the archive. Packages for Debian: -------------------- Select one of the Blackdown mirrors (http://www.blackdown.org/java-linux/mirrors.html) and add a line of the form deb ftp:////debian non-free to /etc/apt/source.list. should be potato or woody. E.g., if you want to use the woody tree on ftp.tux.org you would use deb ftp://ftp.tux.org/java/debian woody non-free Then install java3d-sdk-beta or java3d-re-beta using the standard Debian tools. No further setup is required. Java 3D(TM) consists of four jar files and three shared libraries. You do not need to include the jar files in your CLASSPATH, nor do you need to include the shared libraries in your PATH. You should include "." in your CLASSPATH or ensure that CLASSPATH is not set. Java 3D documentation and tutorials are available from the Java 3D(TM) Home Page: http://java.sun.com/products/java-media/3D/ =============== SHARED CONTEXTS =============== This version of Java 3D by default uses shared contexts in OpenGL for Display Lists and Texture Objects. For single canvas applications, there will be no change in behavior. For multiple canvas applications, memory requirements will decrease by using this property. Some video cards may have problems using shared contexts. If you are experiencing no rendering, crashes, deadlocks with System.exit(), or no textures being displayed when shared contexts are enabled, this is the most likely problem. To disable the use of shared contexts set the j3d.sharedctx property to false, java -Dj3d.sharedctx=false MyProgram ================= Background Images ================= The background image can be rendered in two modes: raster and texture. In Windows and Linux, the default mode is texture and in Solaris, the default one is raster. The property j3d.backgroundtexture can be used to control which mode to use. If you are experiencing slow rendering of background images, you can change j3d.backgroundtexture property. For example, to enable texture mode if your have hardware support for texture rendering, java -Dj3d.backgroundtexture=true MyProgram ================================ RUNNING JAVA 3D(TM) IN A BROWSER ================================ You can run Java 3D(TM) programs in your browser. Java 2(TM) from Blackdown and Sun includes the Java Plug-In (JPI) to upgrade the Java(TM) in the browser to Java 2(TM). To verify proper installation, point your browser to file:///usr/lib/j2sdk1.3.1/demo/java3d/index.html ==================================================== DISTRIBUTING Java 3D(TM) WITH YOUR JAVA(TM) PROGRAMS ==================================================== Sun Microsystems allows vendors to distribute the Java 3D(TM) Runtime environment with their Java programs, provided they follow the terms of the Java 3D(TM) Binary Code License and Supplemental License Terms agreement. This document uses the term "vendors" to refer to licensees, developers, and independent software vendors (ISVs) who license and distribute Java 3D(TM) with their Java programs. REQUIRED vs. OPTIONAL FILES --------------------------- Vendors must follow the terms of the Java 3D(TM) Evaluation License agreement, which includes these terms: - Don't arbitrarily subset Java 3D(TM). You may, however, omit those files that have been designated below as "optional". - Include in your product's license the provisions called out in the Java 3D(TM) Evaluation License. BUNDLING Java 3D(TM) -------------------- Java 3D(TM) comes with its own installer that makes it suitable for downloading by end users. Java(TM) application developers have the option of not bundling Java 3D(TM) with their software. Instead, they can direct end-users to download and install the Java 3D(TM) software themselves. Required Files -------------- When bundling Java 3D(TM) with your application, the following files must be included: /lib//libJ3D.so /lib//libj3daudio.so /lib//libJ3DUtils.so /lib/ext/vecmath.jar /lib/ext/j3dcore.jar /lib/ext/j3daudio.jar /lib/ext/j3dutils.jar Optional Files -------------- An application developer may include these files and directories with their Java 3D(TM) application, but is not required to do so: /j3d-utils-src.jar /demo/java3d ======================== CHANGES SINCE 1.2.1_03 ======================== ============ NEW FEATURES ============ For a list of API changes please see the Java 3D API 1.3 Beta 1 Specification at: http://java.sun.com/products/java-media/3D/releases.html GeometryInfo utility now supports multiple texture coordinates as well as INTERLEAVED, BY_REFERENCE, USE_NIO_BUFFER and USE_COORD_INDEX_ONLY GeometryArray formats. The .obj loader has improved URL support. A new scenegraph io utility has been added. This utility can save and restore Java 3D scene graphs. See the javadocs for the package com.sun.j3d.utils.scenegraph.io for more information. A new high resultion interval timer has been added to the utilities package. See the javadocs on the package com.sun.j3d.utils.timer for more information as well as the TimerTest example program in the examples/Timer directory. New ConfiguredUniverse utility. The com.sun.j3d.utils.universe package has been extended with a new ConfiguredUniverse utility class. This utility requires JDK 1.4 or later when running in a display configuration that consolidates two or more physical screens in a single virtual device, such as the X11 Xinerama extension. The new utility is an extension of SimpleUniverse that can set up an interactive viewing environment based upon the contents of a site-specific configuration file. This is useful when an application needs to run without change across a broad range of viewing configurations and locally available input devices. Viewing configurations that can be described in the configuration file include windows on conventional desktops, stereo-enabled views, fullscreen immersive displays on single or multiple screens, and virtual reality installations such as cave and head-mounted displays incorporating 6-degree-of-freedom sensor devices. InputDevice and ViewPlatformBehavior implementations can be instantiated by ConfiguredUniverse from their descriptions in the configuration file. Sensors provided by InputDevice implementations can be given descriptive names in the file and retrieved by applications to allow them to tailor their interaction mechanisms at runtime. See programs/examples/ConfiguredUniverse for an example application and sample configuration files. Support for multiscreen-aware applications in virtual-screen environments With this release applications can use GraphicsConfigTemplate3D to retrieve a GraphicsConfiguration from a specific physical screen device even when a virtual screen is being used to consolidate them. The GraphicsConfiguration can then be used to create Canvas3D objects on that physical screen. This allows a separate Screen3D object to be associated with the Canvas3D so that physical parameters such as the screen's position and orientation relative to other screens in the viewing environment can be specified. This support is only available when running JDK 1.4 or later. ======================= Constructing a Canvas3D ======================= Many Java 3D programs pass null to the Canvas3D constructor. By doing this, Java 3D will select a default GraphicsConfiguration that is appropriate for Java 3D. However, this is a bad practice, and can lead to errors when applications try to run in alternate environments, such as stereo viewing. Java 3D will now print out a warning if the Canvas3D constructor is passed in a null argument for the GraphicsConfiguration. ========= Utilities ========= This release includes utilities for Java 3D. These utilities are still being defined and under development. Much of the source for these utilities is also provided. The API for these utilities may change in future releases. The following utilities are provided in this release: - Some predefined Mouse based behaviors - Picking utilities including predefined picking behaviors - Geometry creation classes for Box, Cone, Cylinder, and Sphere - A Text2D utility - Universe Builders - SimpleUniverse and ConfiguredUniverse - An Image Loading utility - A Normal Generator utility - A Polygon Triangulator utility - Triangle stripifier - Geometry compression utilities - Spline-based path interpolators - Wavefront .obj loader - Lightwave 3D File Loader - A scenegraph io utility - A high resolution interval timer =================================== Enabling Stereo with SimpleUniverse =================================== The SimpleUniverse utility does not, by default, request a GraphicsConfiguration that is capable of Stereo rendering. To enable this, you need to set a property when running your application. Here is an example. java -Dj3d.stereo=PREFERRED MyProgram Some framebuffers only have one Z buffer and share this between the left and right eyes. If you are experiencing problems using stereo try the following property: java -Dj3d.stereo=PREFERRED -Dj3d.sharedstereozbuffer=true MyProgram =================================================== Information on Java 3D Audio Device Implementations =================================================== Java 3D sound is rendered via the use of a specific implementation of the AudioDevice3D interface. This release includes two AudioDevice3DL2 implementations: HeadspaceMixer and JavaSoundMixer. Both of these implementations are included in the j3daudio.jar. Please read README.release in program examples Sound directory for details regarding the feature and format limitations of each of these implementations and for examples of these use. ============================================= HeadspaceMixer AudioDevice3DL2 Implememtation ============================================= The HeadspaceMixer implementation is part of the Sun Java 3D com.sun.j3d.audioengines.headspace package. This implementation uses a version of the Headspace Audio Engine licensed from Beatnik which does all rendering in software and pipes the stereo audio image to the platform's audio device. The implemention that was called JavaSoundMixer in previous Sun releases of Java 3D has been renamed to HeadspaceMixer. It was renamed in anticipation of the release of a new AudioDevice implementation that uses the JavaSound API which will be called JavaSoundMixer (described below). The HeadspaceMixer audio device will be created and initialized when the utility SimpleUniverse.Viewer.createAudioDevice() method is called. If your application uses this utility, no change will be required to use the recommended HeadspaceMixer implementation. If your application explicitly used the older JavaSoundMixer audio device implemention from the package com.sun.j3d.audioengines.javasound, you should change the reference to JavaSoundMixer, at least for this Beta 1 release, to HeadspaceMixer: import com.sun.j3d.audioengines.headspace.HeadspaceMixer; : HeadspaceMixer mixer = new HeadspaceMixer(physicalEnvironment); Most of the Java 3D Audio features have been implemented but there are a few exceptions. Additionally, some Java 3D Audio features are only only partially implemented. Please read the README.release document in programs/examples/Sound for more information. ============================================= JavaSoundMixer AudioDevice3DL2 Implememtation ============================================= The JavaSoundMixer implementation is part of the Sun Java 3D com.sun.j3d.audioengines.javasound package. This implementation uses the Java Sound API. All low-level access to the platforms audio device are dependent on the Java Sound mixer implementation(s) installed on the machine you're running on. The JavaSoundMixer Java 3D audio device implementation uses Java Sound SourceDataLine streams for non-cached data and Java Sound Clips for cached data. Support for specific sound cards, the exact input formats that can be passed as data to Java 3D MediaContainers, and which feature are rendered in software verses accelleration hardware is dependent on the Java Sound implementation installed on your machine. There is guarenteed to be at least one Java Sound mixer implementation available with all J2SE releases (such as Sun's JDK 1.3 and above). Please read the README.release document in programs/examples/Sound. ========== BUGS FIXED ========== Install ------- 4517033 Problems with InstallAnywhere after clean install of Win2K, JDK1.4 on D: drive Documentation ------------- 4483663 Group removeChild index clarification needed Core Graphics and Vecmath ------------------------- 4173647 Cannot share Sphere objects of same size between immediate and retained mode 4181349 Need to add Transform to SceneGrphPath hashCode 4186182 sceneAntialiasing setting of PREFERRED is ignored 4246325 AWT Event once enable, will not disable when behavior remove 4260818 java3d should support stereo graphics automatically 4314503 RFE: give the Raster class the capability for hot spot positioning, picking 4337171 removed and newly-added canvas have same window xids, causes XGetWindow* to fail 4351050 APIs issue : Shape3D and Morph's intersect method. 4355332 Require Thread safe removeChild in BranchGroup 4376538 Need a 64 bit clean version of Java 3D for JDK1.4 4395292 Transform3D consume lots of memory 4401323 Transparency value ignored for RGBA rasters 4409793 ImageComponent and Transform not updated synchronously 4416995 Text2D.setString(String) restores filter setting default values 4416996 setVisible(false) affecting objects that did not have attribute set 4416999 Differences in rendering between retained and immediate modes w/same Appearance 4419187 Texture2D ignored if not enabled when made live 4422273 In a multiple views setup, object may not be visible to all canvases, at startup 4425819 D3D: performance is slower than OGL for dataset with vcount > 65535 4426732 OrderedGroup node and documentation differ concerning rendering order 4427335 Severe performance regression in 1.2.1 during attach/detach from TransformGroup 4427436 Alternate Appearance may throw exception when scoped to a sharedGroup 4430366 Transform3D invert() is numerically unstable when matrix is congruent 4430543 HMD lag problem 4433400 OrientedShape3D fail to scale Text3D 4435184 Geometry count incorrect for Shape3D 4435196 Light does not revert to universal scope when all scopes removed 4440430 IndexOutOfBoundsException in RenderBin.findOrderedCollection 4446647 changing texture transform slows things down by 20% 4447400 Flashing occurs with animating objects that use switch value interpolator 4447897 Cannot share appearance bundle with Text3D 4447901 Exception with using Group.moveTo(BranchGroup) for nested Ordered Groups 4451395 Offscreen rendering genertaing ArrayIndexOutOfBoundsException 4451743 Removing BG from one Universe, attaching to another => IllegalSharingException 4452525 SharedGroup.getLinks method only works on live nodes 4457394 NullPointerException when unregister View if Shape3D is not add in OrderedGroup 4457627 Oriented Shape3Ds in Shared Groups not always drawn (regression from 1.2) 4457691 link.setSharedGroup causes NullPointerException if link is under OrderedGroup 4457930 PureImmediate mode texture problem when sharedCtx is used 4458891 MasterControl throw NullPointerException sometimes when exit from applet 4460766 ClassCastException in RenderingEnvironmentStructure 4461272 In PureImmediate mode, u.removeAllLocales() will cause program crash in Solaris 4461310 Object may disappear in Billboard/OrientedShape3D due to numerical problem 4461427 collision detection fail to report collide in some orientation 4461482 OffScreen rendering context destroy not in Renderer thread 4462942 Texture missing in Box 4465145 setFog(null) in immediate mode causes NullPointerException 4465269 removeBranchGraph() followed by addBranchGraph() yields IllegalSharingException 4466352 missing transform targets 4468303 javax.vecmath.Tuple3d serialVersionUID not compatible 4468485 Running on MultiScreen mode causes NullPointerException 4468945 Texture coordinate did not work in PureImmediate mode 4470524 RasterRetained getOffsetPos() throws NullPointerException 4470672 AlternateApp program prints an error from Targets.java (regression) 4472252 OrientedShape3D not rendered 4472416 Using ImageComp by_ref with non-optimized formats consumes twice as much mem 4472423 Alt App behaves incorrectly when the bg with altapp is attached/detached 4473816 AltApp, Fog , ModelClip using the wrong localToVworld in their mirror object 4474052 GeometryArray:updateData() is not optimized for by-copy case 4474225 Cannot detach BG and attach to another universe 4475567 getBounds doesn't work since 1.2.1 4475966 Collision USE_GEOMETRY ignore if arming node is Group 4478779 OGL: Texture offset did not set correctly 4479896 TextureUnitState for multiTexture did not set correctly in displaylist case 4479897 OGL: ignoreVertexColor is not consider in executeVA() 4480002 RenderMolecule.addRenderAtom throws NullPointerException 4480337 OGL: Invalid texture pointer set when texUnitStateMap is disable 4480770 Text3DRetained set() method did not lock geometry property for rendering 4480969 Raster position incorrect in SDSC/ExRaster test 4481534 Raster disappear in trasparency mode 4483625 GraphicsConfigTemplate3D: null pointer exception in isGraphicsConfigSupported() 4486565 Switch node renders incorrectly when other objects are outside a certain region 4487562 Security exception when running as applet 4487648 Java3D Fails on Startup with OpenGL Library Error 4492776 Scoping under Morph does not work under some cases 4494448 GC issue in DrawingSurfaceObjectDSI.contextLock() 4495139 Node reuse in another Universe after detach will throws IllegalSharingException 4497631 Out of range index in IndexedGeometryArray causes MasterControl exception 4498341 MultiTextureTest fails on JDK 1.4 4498416 getTexCoordRef2f() ClassCastException 4498498 Possible deadlock when using VirtualUniverse removeAllLocales() 4498499 J3dFly show nothing when changing from Orbit->Drive->Orbit mode 4499000 IndexOutOfBoundsException thrown from RenderingEnvironmentStructure.removeNodes 4500467 ClassCastException throws at Shape3DCompiledRetained.intersect() in Enigma apps 4500964 OGL: background image disappear when model change to use wireframe 4501026 Texture fail to disable/enable 4502835 TextureUnitState setTexCoordGeneration() fail in a live scene graph 4502837 Raster CLIP_IMAGE did not work 4502846 Memory leaks when repeatly add and remove children of OrderedGroup. 4502849 Single timestamp is needed for multiple messages send by addChild, removeChild . 4504098 immediate mode View.setFront/BackClipDistance doesn't work 4504101 offScreenCanvas3D memory leak? 4504114 Depth-sorted Transparency problems? 4504129 multiple Locales within a VU generates NullPointerException 4504134 stereo Canvas3D immediate mode rendering in the left eye image not possible 4504138 stereo wrong transformation in immediate for rendering in left eye image buffer 4504154 collision detection problems 4504299 Cylinder didn't show up when add appearance with texture 4504365 Java 3D should use Z-buffer test of GL_LEQUAL not GL_LESS 4504714 attributes not set correctly for scene that contains non-visible objects 4505212 Core dump thrown from updateTextureFilterModes when setTextureUnitState() 4505969 J3DGraphics2DImpl slow when texturemapping is used 4507374 OffScreenBuffer Memory Leak 4507746 NullPointerException when update image in a live ImageComponent2D 4507994 Duplicate values for ALLOW_INTERSECT and ALLOW_REF_DATA_READ 4508596 IFB only : The particles in particle demo appear blocky; missing texture 4509205 VolRend demo renders incorrectly on Expert3D using J3D 1.3 4509433 update image in ImageComponent by reference doesn't work 4509996 ImageComponent3D updateData ClassCastException 4510245 NullPointerException when running on IFB 4511067 java.lang.NoSuchMethodError: java.awt.GraphicsConfiguration: method getBounds 4512408 NullPointerException in getTriggering{Bounds,Path,Sensor} 4513311 GeometryArray methods setTexCoordRef4f and getTexCoordRef4f not implemented 1.3 4513765 NullPointerException in renderOffScreenBuffer when invoke in canvas callback 4513960 TexCoordGeneration.getPlaneQ(Vector4f) does not give the correct value 4514100 Headlights don't work 4514155 Incorrect Renderer thread doing renderOffScreenBuffer() in multiple screen case 4514160 D3D: TexCoordGen ObjectLinear mode plane setting not correct in multiple stage 4514288 Displaylist is not initialized when depth sorted transparency is enabled 4514374 NullPointerException in Transform3D 4514525 NullPointerException at RenderMolecule.updateNodeComponentCheck() 4514527 NullPointerexception throws in PureImmediate mode 4514528 OrientedShape3D collision USE_GEOMETRY did not consider local oriented transform 4514934 Setting attribute of one shape will set other equivalent appearance shape also 4514937 NullPointerException in PickTestExt 4514981 GraphicsContext3D throws a NullPointerException 4515213 native code exception when resizing window on Win98/Ogl/JDK14 4515248 Change controls in DEMviewer will not have effect until the user rotates the mod 4515903 Behavior postId does not always work 4516754 D3D: MultiTextureTest not work correctly when some TextureUnitState disable 4517305 Cannot update the texture image until texture attribute mode changed. 4475677 Current Sensor hotspot semantics are broken Sound ----- 4164181 Sound performance on native threads is bad 4359609 MediaContainer does not report errors 4360463 Doppler calculated results in less than expected frequency variation 4404165 Sound attributes did not check illegalSharing correctly 4419189 Sound node ignores Switch value 4419938 ConstructPoints, MixedMode Sound problems 4433354 Intermittent hang the OS when Java3D startup if Sound is used 4446591 A sound can not be played continuously across view change 4451293 Sound played back as noise on SunBlades 4515870 HeadspaceMixer: AuralAttribute filtering causes erroneous Frequency scaling 4515875 HeadspaceMixer: inconsistant Frequency scaling in TestMediaContainer 4516006 sound.resume() ignored when Sound is not active Utilities --------- 4347998 PickTool pickGeomAllSorted did not compute closest distance for PickConeRay 4366060 ObjectFile.load() throws IndexOutOfBoundsException 4391507 MouseBehavior did not handle setEnable() correctly to remove buffer events 4416399 Textures don't work when loading ObjectFile form a URL 4431725 Text2D setRectangleScaleFactor() not work if call after scene graph live 4438225 Triangulator(int earOrder) constructor should be deprecated 4472407 TextureLoader doesn't optimize loading when YUP/ByReference is used 4489768 Transparent textures crash .obj loader in 1.3 4492329 Infinitely loop in Triangulator when Text3D is used 4493952 GeometryInfo.compact() w/ IndexedGeometryArray - out of spec 4500122 NullPointerException throws from GeometryInfo indexify in Humid 4504080 pickIntersection.getPointCoordinates returning incorrect coordinates 4504083 OrbitBehavior resets X and Y direction 4504085 calling setCapabilities on non-live SG generates RestrictedAccessException 4508727 inconsistent constructors in Pick*Behavior utilities 4508791 PickRotateBehavior constructor ignores pickMode specified 4516752 IntersectTest throws runtime exceptions ============== KNOWN PROBLEMS ============== To get the very latest list of known Java 3D bugs, look on the Java Bug Parade (http://developer.java.sun.com/developer/bugParade/index.html) Documentation Bugs ------------------ 4120197 Docs for Vector-like methods (e.g., addChild, setChild) need improvement 4161432 Transform3D transform definitions are imprecise with respect to mirror transform 4259353 documentation for com.sun.j3d.utils.geometry.Box is confusing 4297142 RotationPathInterpolator has problem if angle equal Math.PI 4303052 Quaternion documentation is inadequate 4303053 javadoc for DistanceLOD with multiple switch nodes needs improvement 4303054 Lighting equations should be updated to reflect color override 4303055 Docs should specify effect on clipped portion of ImageComponent 4303056 Docs should specify thread-safety behavior of Java 3D methods 4303062 Need to specify which attributes are passed by reference versus by value 4307547 Need to doc. : scene graph needs to have at least a Canvas3D to keep j3d working 4312421 Need to document texture by reference 4331677 setWindowResizePolicy(View.VIRTUAL_WORLD) needs better docs 4350033 possible conflict between implementation and spec on PolygonOffset 4352922 light InfluencingBounds (user specified BoundingSphere) seems to be broken 4357879 Ambiguous specification of Shape3D.addGeometry() 4364767 Java3D's render loop doesn't run continuously. 4372654 Ambiguous spec of the RemoveChild() 4385508 Inconsistent doc on Group.insertChild() with implementation 4386872 Docs for Behavior.postId is too terse 4386874 Minimum number of planes in BoundingPolytope should be 4 not 3 4391167 Triangulator unable to handle some polygons with holes. 4391487 Transform3D CONGRUENT definition is not clear 4391492 Rotation matrix of Transform3D constructor not extract 4415011 By reference image for Canvas.setOffScreenBuffer not checked in J3D 1.2 doc 4415029 Ambiguous spec on View.removeCanvas(null) should throw exception or not 4415320 AxisAngle4f didn't handle division by zero when rotational component is zero 4415929 Sphere constructor documentation unclear 4421250 Lack of doc on the application of BoundingSphere 4472270 dubious detach/remove wording, clarification, reevaluation of semantic called fo 4500608 TextureAttributes.setColorTable() should document value 4501813 Documentation should state that AA lines/points are rendered as transparent 4512489 ModelClip.getPlanes NullPointerException 4514880 results of changing geometry and texture are not well documented Examples -------- 4296091 Infinite loop in McadPickTestImm postSwap() Installation Bugs ----------------- 4414171 Java3D: multiple (app/user-selectable) back-end support 4494613 Cannot install java3D on Japanese NT 4.0 Core Graphics and Vecmath ------------------------- 4154445 PathInterpolator's setKnot method does not validate inputs 4160172 Access to some aggregate data is not MT-safe 4179923 ReadRaster does not clip to screen correctly 4181340 Updating the view cache could be a problem if other canvas running on same view 4181344 Java 3D cannot handle more than 64 lights 4189092 HEAD_PREDICTOR and HAND_PREDICTOR policies not implemented 4191172 Text3D rendering problems 4259345 Text3D does not correct convert geometry of Japanese-text 4266866 Text3D handles badly the 2-byte international characters. 4305676 Native method error message is not I18N ready 4313678 Java3D disables invalid lights (lights 24-31 on an Expert3D) 4319780 RFE: java3d scene graph objects are not serializable 4335245 Raster type RASTER_COLOR_DEPTH did not work as expect 4340607 Node and NodeComponent's set* methods not synchronized with set/clearLive 4351579 APIs issue : Shape3D intersect method -- multiple geometry support 4357843 Picking doesn't handle OrientedShape3D's orientation when doing intersect test. 4358284 readRaster() ignore StereoMode context 4359764 Java3D do not support > 32 canvas 4363761 getImagePlateToVworld not synchronized with View 4363899 APIs issue : OrientedShape3D's intersect method needs view info. 4366511 Full scene antialiasing slow under OpenGL 4370378 ImageComponentByReferenceTest raster image disappeared after window maximized 4371535 when PickTool cursor's update is enabled, the camera/view no longer updates 4386903 DistanceLOD API inconsistant 4387641 Canvas3D stays clipped when another window is brought in front and removed 4389343 D3D: PolygonAttributes setBackFaceNormalFlip() is not support 4396453 Bounding polytope should check for NaN bounds 4420305 sound/animation sometimes disrupted by menus 4421860 PickTest : PickCylinder unable to pick point/line when pick mode set to GEOMETRY 4428412 AxisAngle set(Matrix ) fail when rotation is PI about X/Y/Z 4429560 DecalGroup not working for some graphics card like TNT card 4431186 performance, setAmbientColor, setDiffuseColor on Material 4436945 j3d fails to run on pgx32 4440657 GetBounds() on Link throws NullPointerException when SharedGroup not set 4446477 Please make Canvas3D transparent while rendering a vitual universe 4446580 Text3D.setString() throws NullPointerException when font3D=null 4451050 View.setVpcToEc() not updating 4453839 GeometryByReference Triangles not always rendered 4454708 PolygonOffset behaves different from 1.3 to 1.2.1 4466779 NullPointerException using MoveTo when BG not in scenegraph 4466854 Overloaded TRANSFORM_CHANGED message for setting activation radius or scheduling 4467878 Appearance attributers not reset in PureImmediateMode 4470264 View.removeCanvas() behaves inconsistently. 4471205 Text3D.setPosition() doesn't work properly 4471266 Light under SharedGroup did not lit properly 4471773 Behavior scheduling did not stop under IE/Netscape when window iconified 4473727 OGL: TextureID & DisplayList not free before ogl context destroy in applet 4476109 OGL: DecalGroup afffect render of other primitive under windows 4480344 Offscreen getX/Y doesn't match getOffScreenLocation 4481974 RFE: Use common j3dcore.jar for both D3D/OGL 4483754 ImageComponent*D getRenderedImage returns null 4487553 Group index off in compiled mode 4487706 Depth buffer doesn't result in correct Z-ordering of lines 4487738 GeometryArrayRetained.unIndexify throw NullPointerException sometim 4488217 Morph doesn't work correct with Indexed*StripArray and Indexed*FanArray 4492873 Static scene not update for View VIRTUAL_WORLD policy 4492904 GraphicsContext3D setModelClip(null) throws NullPointerException 4494458 j3d.utils.geometry creates unnecc. mem - TexCoord2f pool was created w/o texture 4494571 NullPointerException throws in RenderBin when using a clone primitives from util 4501815 Transparent blend function ignored for AA lines and points 4502094 Point size in BackGround geometry set incorrect. 4504095 Loose AWT events after iconifying and then de-iconifying 4504143 Menu accelerators do not work when changing the viewer position with mouse 4505439 texture coordinate works incorrect in Multitexture case 4505963 J3DGraphics2DImpl memory leak if texture mapping is used 4507009 OGL: Texture Image Background not free after Canvas3D remove 4508747 OrientedShape3D object disappears when rotating around X or Z axis. 4511651 Regressions in Text3D - letters disppear and incorrectly positioned 4512031 Wrong cube color rendered in LOD test 4512179 Undeterminable behavior caussed by Appearance.setTexture 4512410 Ydown Raster by-reference images are always copied 4512666 GeometryStrip constructor throws exception with 0 length stripVertexCounts 4513029 J3dI18N: Error using IndexedGeometryArray.getInitialIndexIndex 4513264 Appearance of geometries as Background looks incorrect. 4513376 GeometryArray.setTextureCoordinate(int, int, TexCoordX) different from API 4513820 ArrayIndexOutOfBoundsException when global alpha is disabled and screen = 1 4514253 Cycles in scenegraph are not detected 4514395 Deadlock in waitForOffScreenRendering() in canvas callback with multiple screen 4514784 J3DGraphics2D rendering flickers even in double buffered mode 4514915 Incorrect rendering in geometry by ref when TRANSPARENCY_SORT_GEOMETRY enabled 4514919 Rendering order of OrderedGroup looks incorrect in nested cases. 4515249 NullPointerException at updateCanvasForDirtyLights in ViewScope MultiViewGeomTes 4515468 CompressedGeometry constr (CGH, J3DB) and getCompressedGeometryBuffer() not impl 4515939 Fog color and background color are not updated synchronously 4515950 Setting AlternativeCollisonTarget not work after live 4515966 setAlternateCollisionTarget throws ArrayIndexOutOfBounds at getCachedTargets() 4516613 Detaching SharedGroup affects non-SharedGroup nodes 4516687 Unrelated Geometry nodes get same color 4516763 D3D: TexCoordGen test incorrect in first frame of Eye linear mode 4516966 Font extrusion for 3D text can generate NaN 4517000 TextureCubeMapRetained.setImages(int face,IC[] images) calls wrong method 4517301 D3D: Projective texture mapping does not work 4517433 RenderingAttribes.setVisible() has no effect in pure immediate mode rendering. 4518080 Light scoping sometimes not working for compiled geometry Sound ----- 4187092 Filtering causes loud, sweeping resonance to be added to most sounds 4187093 Cross-talk cancellation for sound playback in not implemented 4360462 HeadspaceMixer: InputStream MediaContainers not fully functional 4515883 JavaSoundMixer: u-Law and A-law formated files can not be loaded Utility Bugs ------------ 4252349 First viewport may jump when using KeyNavigatorBehavior 4259533 getTexture() throws NullPointerException when using proxies 4308592 texture loader does not scale non-power-of-2 RGBA textures properly 4327643 RFE: LW3Dloader needs to be able to load 'other' image file formats 4331669 setRectangleScaleFactor will not change text size unless setString called (doc?) 4336679 In examples/PickTest program, a pick miss can happen on morph object. 4337833 Java 3D: KeyNavigator has a race condition 4343427 Loader interface has no facility to monitor progress of Load Operation 4372722 ObjectFile loader hangs when loader .jpg file 4374631 CompressedGeometryFile can't be used by applets with default security 4374633 CompressionStream should provide a method for getting original bounds 4376368 Adding KeyNavigatorBehavior will keep cpu busy 4386880 TextureLoader should use imageio loaders 4431105 PickResult.getNode should take a class not an integer 4431675 PickTool can't handle Text3D with pickmode set to GEOMETRY_INTERSECT_INFO. 4450545 KBRotPosScaleSplinePathInterpolator does not support nonuniform scale 4474221 KBRotPosScaleSplinePathInterpolator pitch and heading are incorrect ? 4485451 Orbit behavior freezes 4485481 OrbitBehavior resets position after ViewPlatform is translated 4493945 NormalGenerator wasting memory in IndexedGeometryArrays Linux-specific Bugs ------------------- none