Java 3D(TM) 1.3 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 4.1 or later with XFree86's Mesa library and DRI or XFree86 4.1 with NVidia driver 1.0-2880 or later or XFree86 4.1 with ATI Fire GL2/3/4 drivers X4.1.0-1.9.16 or later (In order to get hardware acceleration withe Fire GL2/3/4 driver you have to set LD_PRELOAD=/usr/lib/libGL.so before starting Java 3D applications. E.g. "LD_PRELOAD=/usr/lib/libGL.so java HelloUniverse" According to ATI this problem is fixed in the 1.9.19 driver.) 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 or XFree86 3.3.6 with Mesa 3.1 or later Note that XFree86 4.1 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-fcs 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-fcs-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-fcs-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-fcs 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-fcs-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-fcs-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 is able to use 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. By default, this property is set to false. To enable the use of shared contexts set the j3d.sharedctx property to true, for example: java -Dj3d.sharedctx=true MyProgram Some video cards, such as the Riva TNT & TNT2, have problems using shared contexts. If you are experiencing no rendering, crashes, or no textures being displayed when shared contexts are enabled, this is the most likely problem. ================= 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 =========================== Multisampling Antialiasing =========================== By default, full scene antialiasing is disabled if a multisampling pixel format (or visual) is chosen. To honor a display drivers multisample antialiasing setting (e.g. force scene antialiasing), set the implicitAntialiasing property to true. This causes Java3D to ignore its own scene antialias settings, letting the driver implicitly implement the feature. java -Dj3d.implicitAntialiasing=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 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. ==================================== Multipass Texture support limitation ==================================== If an application has setup more texture unit states than the graphics hardware can support, COMBINE mode will not be supported and Java 3D will fallback to the REPLACE mode. ========= 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 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. Note that the HeadspaceMixer is not supported in the 64 bit Solaris version of Java 3D. ============================================= 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 ========== Documentation ------------- 4386872 Docs for Behavior.postId is too terse 4501813 Documentation should state that AA lines/points are rendered as transparent 4702908 OrbitBehavior class overview says to call non-public method Core Graphics and Vecmath ------------------------- 4366511 OGL: Multisampling does not support under windows for fullscene antialiasing 4468303 javax.vecmath.Tuple3d serialVersionUID not compatible 4661574 D3D : setValidVertexCount on byRef quad array is not working right 4663280 D3D: multitextue not work in jtest.essential.SimpleLeaf.MorphBasicTest1 4664809 FullScene antialiasing disable under wildcat III even though driver enable it 4667098 Windows-apps/Enigma: keyboard panel flashes when box is rotated / key is pressed 4667539 IllegalMonitorStateException throws from Renderer if other Exception happen 4669051 setValidVertexCount has performance issues 4671012 Incorrect multipass Texture if TextureUnitState[] not contiguously enable 4672391 ImageComponent2D/3D getImage() throws ClassCastException for non BufferedImage 4672530 Deadlock when using WakeupOnTransformChange 4678251 Texture attributes and TexCoordGen mode sometimes fail to apply 4678932 setPointAntialiasingEnable will turn z buffer off even though surface is drawn 4679787 Antialias Polygon Line and Polygon Point mode are classify as opaque 4683152 ClassCast exception in core when setAutoComputeBounds(false) 4684982 At setLive(), if boundsAutoCompute is false, j3d's bounds didn't set correctly 4685156 Crash under Linux Nvidia driver if texture destory without a non-shared ctx 4685686 Raster Image flicking and NullPointerException throws when CLIP_IMAGE is used 4685682 NullPointerException when clone Appearance with TextureUnitState 4685691 setupMirrorInterleavedColorPointer throws ArrayIndexOutOfBoundsException 4686650 Transform3D.setTranslation() does not classify correctly 4684150 Lock up when using J3DGrpahics2DImpl 4687351 Polygon line width/point size may drawn larger than expected in some case 4691511 REGRESSION: setConstantScaleEnable(true) does not work on 1.3 beta2 4691654 State change that causes displaylist to be rebuilt may result in missing geometr 4686766 Deadlock when same geometry share by different VirtualUniverse is updated 4693468 Incorrect Texture display after Texture object GC 4698695 Appearance may mess up when Material is shared by geometries w and w/o normal. 4693307 TRANSPARENCY_SORT_GEOMETRY : State update may cause Shape3D to lose geometry 4703460 Update of J3DGraphics2D damage extent is not MT-Safe 4475677 Current Sensor hotspot semantics are broken 4690060 OGL: Texture Transform affects Background Image 4697067 BoundingPolytope doesn't report intersection 4701430 Infrequent NPE at RenderBin.java:544 Utilities --------- 4666597 GeometryInfo: getIndexedGeometryArray() ignore useCoordIndexOnly parameter 4678136 SceneGraphIO API - UseSuperClassIfNoChildClass implementation incomplete 4682760 SceneGraphIO node references not resolved before user code called 4683145 Extra null geometry added to Shape3D when loading j3f 4690159 dublicateOnCloneTree flag not save in SceneGraph IO NodeComponentState 4702256 ViewingPlatform.setViewPlatform() doesn't add ViewPlatform to TransformGroup ============== 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 4303052 Quaternion documentation is inadequate 4303054 Lighting equations should be updated to reflect color override 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 4331677 setWindowResizePolicy(View.VIRTUAL_WORLD) needs better docs 4303056 Docs should specify thread-safety behavior of Java 3D methods 4352922 JFTC: light InfluencingBounds (user specified BoundingSphere) seems to be broken 4357879 JFTC: Ambiguous specification of Shape3D.addGeometry() 4364767 JFTC: Java3D's render loop doesn't run continuously. 4372654 JFTC: Ambiguous spec of the RemoveChild() 4391492 Rotation matrix of Transform3D constructor not extract 4415029 JCK: Ambiguous spec on View.removeCanvas(null) should throw exception or not 4421250 JFTC: Lack of doc on the application of BoundingSphere 4500608 TextureAttributes.setColorTable() should document value 4514880 results of changing geometry and texture are not well documented 4693320 Javadoc missing for TCBKeyFrame, CubicSplineSegment, and CubicSplineCurve 4698350 Spec. did not mention alpha component for Texture Mode REPLACE, MODULATE clearly Core Graphics and Vecmath ------------------------- 4193466 GMatrix SVD does not work correctly for some cases. 4269784 vecmath.GMatrix.LUD inefficient 4476558 Matrix classes consume too much memory. 4154445 PathInterpolator's setKnot method does not validate inputs 4160172 Access to some aggregate data is not MT-safe 4181344 Java 3D cannot handle more than 64 lights 4181340 Updating the view cache could be a problem if other canvas running on same view 4181417 Need to add an internal epsilonEquals method for bounds objects 4179923 ReadRaster does not clip to screen correctly 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. 4299480 readRaster() and waitForOffScreenRendering() will not work if threadLimit=1 4305676 Native method error message is not I18N ready 4313678 Java3D disables invalid lights (lights 24-31 on an Expert3D) 4335245 Raster type RASTER_COLOR_DEPTH did not work as expect 4334312 In CanvasViewCache : vprNotDirty shouldn't be peeked at. 4340607 Node and NodeComponent's set* methods not synchronized with set/clearLive 4344034 jftc: jtest.bugs.b4335549.HelloUniverse still fails on Windows NT and 2K 4344060 jftc: jtest.bugs.b4336095.PickTest still fails on Windows NT and 2K 4351579 APIs issue : Shape3D intersect method -- multiple geometry support 4357843 Picking doesn't handle OrientedShape3D's orientation when doing intersect test. 4358284 JFTC: readRaster() ignore StereoMode context 4361566 JFTC:jtest.raster.Ras seems wrong where transparent triang and raster overlapped 4359764 Java3D do not support > 32 canvas 4363899 APIs issue : OrientedShape3D's intersect method needs view info. 4370378 ImageComponentByReferenceTest raster image disappeared after window maximized 4387641 Canvas3D stays clipped when another window is brought in front and removed 4396630 JFTC: Transparency obviously wrong in BLEND mode 4396453 Bounding polytope should check for NaN bounds 4407825 JFTC: Scope setting in ModelClip works incorrectly in compile mode 4416086 JFTC: light.DLight5 and light.PLight1 fail when using setLocalEyeLightingEnable 4420305 sound/animation sometimes disrupted by menus 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 4440657 GetBounds() on Link throws NullPointerException when SharedGroup not set 4446477 Please make Canvas3D transparent while rendering a vitual universe 4446580 JFTC: Text3D.setString() throws NullPointerException when font3D=null 4459561 JFTC: Depth works wrong in tests on raster. 4451050 View.setVpcToEc() not updating 4466779 NullPointerException using MoveTo when BG not in scenegraph 4466854 Overloaded TRANSFORM_CHANGED message for setting activation radius or scheduling 4470264 JCK: View.removeCanvas() behaves inconsistently. 4471205 JFTC: Text3D.setPosition() doesn't work properly 4471773 Behavior scheduling did not stop under IE/Netscape when window iconified 4473656 Java3D/JFTC: timing/synchronization is not always consistent when running tests 4475320 JFTC coverage: bounds hash mismatches bounds set by setBounds 4481974 RFE: Use common j3dcore.jar for both D3D/OGL 4483754 ImageComponent*D getRenderedImage returns null 4487553 Group index off in compiled mode 4488217 JFTC: Morph doesn't work correct with Indexed*StripArray and Indexed*FanArray 4485743 JFTC: readRaster() intermittently fails in a JFTC test's first frame 4494458 j3d.utils.geometry creates unnecc. mem - TexCoord2f pool was created w/o texture 4492873 Static scene not update for View VIRTUAL_WORLD policy 4502094 JFTC: Point size in BackGround geometry set incorrect. 4504095 Loose AWT events after iconifying and then de-iconifying 4508697 performance regression on win32 4508747 JFTC: OrientedShape3D object disappears when rotating around X or Z axis. 4509357 example program - raster image incorrect until mouse moved into window 4504143 Menu accelerators do not work when changing the viewer position with mouse 4512031 JFTC: Wrong cube color rendered in LOD test 4512410 Ydown Raster by-reference images are always copied 4512666 JFTC:GeometryStrip constructor throws exception with 0 length stripVertexCounts 4512179 Undeterminable behavior caussed by Appearance.setTexture 4513264 JFTC: Appearance of geometries as Background looks incorrect. 4513820 ArrayIndexOutOfBoundsException when global alpha is disabled and screen = 1 4514253 Cycles in scenegraph are not detected 4513029 J3dI18N: Error using IndexedGeometryArray.getInitialIndexIndex 4515257 JFTC: MultiUniverses intermittently failed 4515468 CompressedGeometry constr (CGH, J3DB) and getCompressedGeometryBuffer() not impl 4515558 Rendering artifacts in DEMViewer when Labels option is turned on 4515939 Fog color and background color are not updated synchronously 4515950 Setting AlternativeCollisonTarget not work after live 4515966 setAlternateCollisionTarget throws ArrayIndexOutOfBounds at getCachedTargets() 4516005 AddRemoveCanvas2 fail to show cube intermittently 4516966 Font extrusion for 3D text can generate NaN 4517265 window color changes with View in Maze 4515352 SDRC-Xu axis jumps around when model is rotated 4517322 No canvases displayed in AddRemove canvas test 4511651 JFTC: Regressions in Text3D - letters disppear and incorrectly positioned 4518080 Light scoping sometimes not working for compiled geometry 4513376 GeometryArray.setTextureCoordinate(int, int, TexCoordX) different from API 4476109 OGL: DecalGroup afffect render of other primitive under windows 4524590 FPSCounter applet hangs when run in netscape via plugin 4525664 LOD test Zoom does not work in mouse with 2 button under windows JDK1.4 beta3 4529297 TCK: Group.removeAllChildren() inconsistent with expected behavior 4514395 Deadlock in waitForOffScreenRendering() in canvas callback with multiple screen 4599536 T3D.setRotation(Q4d) throws exception but not with T3D.setRotation(AA4d) 4524594 Cloning and reloading PureImmediate applet throws NullPointerException 4634463 Node.getCollidable() throws incorrect exception text if capability not set 4636676 Canvas3D not resizing properly 4653688 REGRESSION: No textures with beta J3D 1.3 DirectX on WinXP and ATI 4656945 jtest.other.Examples.AddRemoveCanvas2 sometimes throws ArrayIndexOutOfBoundsExce 4667088 sas applications gets VerifyError running with 64-bit JVM 4667052 Some models loaded with bgfViewer are not initially visible using JDK 1.4 4669211 SharedGroup.getLinks().length is always zero for non-live Link node. 4674146 Background texture fail to render for RenderedImage and byref ImageComponent2D 4653840 Multipass texture blending mode problem 4676483 Geometry by Reference change alpha color component of user data 4674843 ImageComponent3D byReference always make an internal copy 4676808 View class needs getTrackerBaseToVworld() 4679790 Fail to trigger WakeupOnViewPlatformEntry event when branchgroup reattach 4681750 Texture3D throws ArrayIndexOutOfBoundsException when scaleImage 4681863 OGL: OffScreen canvas ignore GraphicsConfigTemplate under windows 4683493 CompressGeometry should render as transparency for polygon line antialias mode 4684405 j3d holds a reference to user's bounds (via setBounds()) for use in getBounds(). 4684807 NullPointerException in NodeComponent during setAppearance() 4686527 Deadlock between MasterControl and user thread when using ByRef updateData() 4680305 Detaches of SharedGroups from user threads is not Mt-Safe 4687389 View isBehaviorSchedulerRunning() may always return true 4688070 Memory not immediately reclaim when branchgroup remove 4676035 Off screen rendering has off-center view 4697155 ByRef USE_COORD_INDEX_ONLY geometry not yet implement for optimizeForSpace=false 4702086 D3D: crash when fallback to software mode also fail 4703478 Test MCBug sometime hangs when Attach Canvas 4703944 MasterControl.viewActivate throws NullPointerException Sound ----- 4187092 Filtering causes loud, sweeping resonance to be added to most sounds 4187093 Cross-talk cancellation for sound playback in not implemented 4315018 Garbage sound in TestFilter 4360462 HeadspaceMixer: InputStream MediaContainers not fully functional 4515883 JavaSoundMixer: u-Law and A-law formated files can not be loaded 4519963 Transformation of sound position behind that of graphics 4521219 Resetting MediaContainer with null sound data causes ClassCastException 4634751 BackgroundSound fails to activates with the view intersects it's bounds. 4655845 Sound fail to load if Sample is BUFFERED and frameLength > 1048576 4680280 JavaSoundMixer play sound only once Utility Bugs ------------ 4252349 First viewport may jump when using KeyNavigatorBehavior 4259533 getTexture() throws NullPointerException when using proxies 4327643 RFE: LW3Dloader needs to be able to load 'other' image file formats 4331669 setRectangleScaleFactor will not change text size unless setString called (doc?) 4337833 Java 3D: KeyNavigator has a race condition 4336679 In examples/PickTest program, a pick miss can happen on morph object. 4343427 Loader interface has no facility to monitor progress of Load Operation 4308592 texture loader does not scale non-power-of-2 RGBA textures properly 4372722 ObjectFile loader hangs when loader .jpg file 4374631 CompressedGeometryFile can't be used by applets with default security 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 4484437 cancel() method for Loader? 4493945 NormalGenerator wasting memory in IndexedGeometryArrays 4507498 modify J3dGrpahics2D for more methods to use optimized version of validate 4518203 cloneNode() is not implement in MouseRotate/Zoom/Translate 4518767 OrbitBehavior redraws scene graph on any mouse movement 4625565 GeometryInfo provokes exception from GeometryArrayRetained in ObjectFile 4627740 GeometryCompressor should store original material attributes in header 4676082 possible NullPointerException in ViewPlatformAWTBehavior 4690609 GeometryArray: cannot directly access data in BY_REFERENCE mode 4692475 saveChildren() return is ignored 4702800 HelloUniverseConfig throws IllegalArgumentException 4702800 HelloUniverseConfig throws IllegalArgumentException 4702248 Canvas passed to ViewPlatformAWTBehavior ignored if from a different view Linux-specific Bugs ------------------- none