These are release notes for Xj3D from M1 forward. Each release will detail its functionality in meeting the applicable specifications and document any known issues. If a feature works differently based on an encoding(utf8 or XML) it will be noted. Release: M5(July 12, 2002) ------------------------- Major changes since M4: IMPORT/EXPORT parsed but doesn't work Texture Improvements: GIF support faster texture loading rescaling looks better Fixed ProximitySensor problem with 0,0,10 viewpoints J3D Loader Capability Bits specification New Nodes: Static Group VisibilitySensor LoadSensor Overlay OGL initial implementation Collision Collide = FALSE now supported TouchSensor now uses exact geometry instead of just bounds DirectionalLight Fixed incorrect ambient intensity default, was 0.2 now 0 Viewpoint Fixed a bug where the viewpoint was wrong occassionly TextureCache Textures are cached by URL. This will catch most textures that have the same URL but not USEd. These are release notes for Xj3D for M5. If a feature works differently based on an encoding(utf8 or XML) it will be noted. The following VRML concepts work: parsing(utf8 and XML) If the last line of the file is a comment the parser generates an error DEF/USE(utf8 and XML) PROFILE and COMPONENT(UTF8) Profile and components definitions follow the Siggraph 2002 draft spec IMPORT/EXPORT (utf8) Keywords are supported and exports work. Imports do not, but don't crash or issue an error either (silent fail) routing(utf8 and XML) Scripting(utf8) JSAI(Java) supported ECMAScript supported Except - SFNode constructor with a string (eg new SFNode('Group[]'); - VrmlMatrix implemented, not tested.Obscure setTransform stuff partially implemented (missing shear handling) External (EAI 2.0) supported begin/endUpdate, implemented, not fully supported Prototypes(utf8) Proto's cannot emulate sensors currently EXTERNPROTO as the first node not supported Extern prototypes (utf8) Those containing bindables that are not the first node do not work correctly for those nodes ie Viewpoint, NavigationInfo, BackGround, Fog URN Resolution - Local resolution works, but you need to setup the application to specify the correct installation path. See DIYBrowser for an example. GeoVRML support GeoInline, GeoElevationGrid, GeoPositionInterpolator tested Spec issues with GeoViewpoint UMEL Support Works, need to setup installation path. See DIYBrowser for an example. LatticeXVL Works in general. May have broken something since M4, but that's more a general proto issue. The following nodes work: Anchor Appearance Box Color ColorInterpolator Cone Coordinate CoordinateInterpolator Cylinder DirectionalLight ElevationGrid Fog FontStyle Group ImageTexture IndexedFaceSet IndexedLineSet Lighting uses diffuseColor instead of emissiveColor Inline LoadSensor LOD Gone backwards slightly from M3. Can't be USEd in a renderable node parent. OK to USE with scripts. Java3D's Behaviours cannot be under a SharedGroup, so this has been removed pending a *major* redesign of all our dynamic behaviours system in M6. Material Look at turning lighting off for emissive only decls NavigationInfo Normal OrientationInterpolator PixelTexture does not support hex encoding of values PointLight PointSet Lighting uses diffuseColor instead of emissiveColor PositionInterpolator ScalarInterpolator Script Shape Sphere StaticGroup Switch TextureCoordinate TextureTransform TimeSensor Transform Viewpoint All parent nodes to the root of the world must be non-DEF. So animated viewpoint will not work. WorldInfo The following nodes have some implementation but are not finished: Background Field handling done, but no rendering. KeySensor Mostly done but not hooked up to the event delivery mechanism. ProximitySensor Does not support position_changed or orientation_changed Cannot be used under a DEF scene graph due to Java3D behaviour limitations. All parent nodes to the root of the world must be non-DEF. SpotLight Not really complete. Works mostly as a Point light BeamWidth is currently ignored. Need to convert to spreadAngle radius is currently ignored. Need to convert to spreadAngle Text Field handling done, but no rendering. TouchSensor Does not support hitNormal and hitTexCoord changed events. hitNormal is OK. isOver may need a little further testing, but should be generally reliable. Collision Proxy not supported VisibilitySensor Union of USE regions not handled correctly The following VRML97 nodes are not implemented: AudioClip Billboard CylinderSensor Extrusion MovieTexture NormalInterpolator PlaneSensor Sound SphereSensor Specific Issues with example programs: browser Reloading a file with multiple inlines using the same URL but not DEFed will cause a multi_parent exception. Switching to a SimpleLoadManager instead of a MemCacheLoadManager will resolve. GeoVRML and UMEL local resolution not supported in pre-compiled code, you need to specify the local installation path in DIYBrowser.java and recompile. DOMViewer Does not support scripts or protos in XML documents. Since it sets every field of a node it can uncover bugs that DIYBrowser won't. editor Really basic right now, not much testing done Using nodes whichs contain urls will not work for http references, causes an exception. loader Undergoing some major surgery currently. SAI_DOM_Demo Nonfunctional as of M3 release. X3D specification Notes: We are tracking behind the SAI release. The currently provided SAI system works but is not current. XML part temporarily disabled from the build process while we work on the SAI proposal. The nodes there clash with our proposal and we suspect that the whole lot will disappear or be replaced with something much simpler. Custom Xj3D Extensions: A new component called Xj3D_Overlay is available. A sort-of surfaces proposal, but has about 50% commonality. There as a strawman, but works completely. Expect the nodes to change over time, so don't get too accustomed to it. Node specs are available on the xj3d.org website. Release: M4(Feb 19, 2002) ------------------------- The following VRML concepts work: parsing(utf8 and XML) DEF/USE(utf8 and XML) routing(utf8 and XML) Scripting(utf8) JSAI(Java) supported Except ReplaceWorld ECMAScript supported Except - ReplaceWorld - SFNode constructor with a string (eg new SFNode('Group[]'); - VrmlMatrix implemented, not tested.Obscure setTransform stuff partially implemented (missing shear handling) External (EAI 2.0) supported replaceWorld not yet supported begin/endUpdate, implemented, not fully supported Prototypes(utf8) Proto's cannot emulate sensors currently Extern prototypes (utf8) Those containing bindables do not work correctly for those nodes ie Viewpoint, NavigationInfo, BackGround, Fog The following nodes work: Appearance Box Color ColorInterpolator Cone Coordinate CoordinateInterpolator Cylinder DirectionalLight ElevationGrid Fog Group ImageTexture Scaling images looks awful. Recommend you prescale content to power 2. If an image is not USEd it will be reloaded from disk everytime Known issues with transparency. No support for GIF's IndexedFaceSet IndexedLineSet Lighting uses diffuseColor instead of emissiveColor Inline LOD Gone backwards slightly from M3. Can't be USEd in a renderable node parent. OK to USE with scripts. Java3D's Behaviours cannot be under a SharedGroup, so this has been removed pending a *major* redesign of all our dynamic behaviours system in M5. Material Look at turning lighting off for emissive only decls NavigationInfo Normal OrientationInterpolator PixelTexture does not support hex encoding of values PointSet Lighting uses diffuseColor instead of emissiveColor PositionInterpolator ScalarInterpolator Script Shape Sphere Switch TextureCoordinate TextureTransform TimeSensor Transform Viewpoint WorldInfo The following nodes have some implementation but are not finished: Anchor Background KeySensor ProximitySensor Does not support position_changed or orientation_changed Incorrectly tests for all viewpoints instead of just moving. So a PS which encompases 0,0,10(default VP) will always be activated. Cannot be used under a DEF scene graph due to Java3D behaviour limitations. All parent nodes to the root of the world must be non-DEF. SpotLight Not really complete. Works mostly as a Point light BeamWidth is currently ignored. Need to convert to spreadAngle radius is currently ignored. Need to convert to spreadAngle TouchSensor Does not support hitpoint changed events The following nodes are not implemented: AudioClip Billboard Collision CylinderSensor Extrusion FontStyle MovieTexture NormalInterpolator PlaneSensor Sound SphereSensor Text VisibilitySensor Specific Issues with example programs: browser Reloading a file with inlines will cause a multi_parent exception. Switching to a SimpleLoadManager instead of a MemCacheLoadManager will resolve. DOMViewer Does not support scripts or protos. Since it sets every field of a node it can uncover bugs that DIYBrowser won't. editor Really basic right now, not much testing done Navigation does not work. Setting appearances/material does not work loader No known issues SAI_DOM_Demo Nonfunctional as of M3 release. Release: M3(Oct 26, 2001) ------------------------- The following VRML concepts work: parsing(utf8 and XML) DEF/USE(utf8 and XML) routing(utf8 and XML) Scripting(utf8) JSAI(Java) supported Except ReplaceWorld url field must be [""] not "" External (EAI 2.0) supported VrmlEventListener not working yet replaceWorld not yet supported begin/endUpdate not yet supported Prototypes(utf8) Extern prototypes not supported The following nodes work: Appearance Box Color ColorInterpolator We interpolate in HSV space which has discontinuties. Likely a spec issue. These causes some ColorInterpolations to stop. Cone Coordinate CoordinateInterpolator Cylinder DirectionalLight Fog Group ImageTexture Scaling images looks awful. Recommend you prescale content to power 2. If an image is not USEd it will be reloaded from disk everytime Known issues with transparency. No support for GIF's IndexedFaceSet IndexedLineSet Inline LOD Material Look at turning lighting off for emissive only decls NavigationInfo Normal OrientationInterpolator PixelTexture does not support hex encoding of values PointSet PositionInterpolator ScalarInterpolator Script Shape Sphere Switch TextureCoordinate TextureTransform TimeSensor Transform Viewpoint WorldInfo The following nodes have some implementation but are not finished: Anchor Background KeySensor ProximitySensor Does not support position_changed or orientation_changed Incorrectly tests for all viewpoints instead of just moving. So a PS which encompases 0,0,10(default VP) will always be activated. SpotLight Not really complete. Works mostly as a Point light BeamWidth is currently ignored. Need to convert to spreadAngle radius is currently ignored. Need to convert to spreadAngle TouchSensor Does not support hitpoint changed events The following nodes are not implemented: AudioClip Billboard Collision CylinderSensor ElevationGrid Extrusion FontStyle MovieTexture NormalInterpolator PlaneSensor Sound SphereSensor Text VisibilitySensor Specific Issues with example programs: browser Reloading a file with inlines will cause a multi_parent exception. Switching to a SimpleLoadManager instead of a MemCacheLoadManager will resolve. DOMViewer Does not support scripts or protos. Since it sets every field of a node it can uncover bugs that DIYBrowser won't. editor Really basic right now, not much testing done Setting appearances/material does not work loader No known issues SAI_DOM_Demo Nonfunctional as of M3 release. Release: M2 ----------- The following VRML concepts work: parsing(utf8 and XML) DEF/USE routing(utf8) Scripting JSAI(Java) supported Except ReplaceWorld Prototypes are not supported The following nodes are thought to work: Appearance Box Color ColorInterpolator Cone Coordinate CoordinateInterpolator Cylinder DirectionalLight Fog Group ImageTexture Scaling images looks awful. Use BufferedImage routines instead of Image Slow loading Known issues with transparency. No support for GIF's IndexedFaceSet IndexedLineSet Inline LOD Material Look at turning lighting off for emissive only decls NavigationInfo Normal OrientationInterpolator PixelTexture support hex encoding of values test alpha channel usage PointSet PositionInterpolator ScalarInterpolator Shape Sphere Switch TextureCoordinate TextureTransform TimeSensor Transform Viewpoint WorldInfo The following nodes have some implementation but are not finished: Anchor Background ColorInterpolator Interps in CYK colorspace which looks wrong KeySensor ProximitySensor Does not support position_changed or orientation_changed Incorrectly tests for all viewpoints instead of just moving SpotLight Not really complete. Works mostly as a Point light BeamWidth is currently ignored. Need to convert to spreadAngle radius is currently ignored. Need to convert to spreadAngle TouchSensor Does not support hitpoint changed events The following nodes are not implemented: AudioClip Billboard Collision CylinderSensor ElevationGrid Extrusion FontStyle MovieTexture PlaneSensor Sound SphereSensor Text VisibilitySensor Release: M1 ----------- The following VRML concepts work: parsing(utf8 and XML) DEF/USE routing(utf8) prototypes are implemented but untested. scripting is not implemented The following nodes are thought to work: Appearance Box Color ColorInterpolator Cone Coordinate CoordinateInterpolator Cylinder DirectionalLight Group ImageTexture Scaling images looks awful. Use BufferedImage routines instead of Image Also slow loading IndexedFaceSet IndexedLineSet Inline LOD Material Look at turning lighting off for emissive only decls NavigationInfo Normal OrientationInterpolator PixelTexture support hex encoding of values test alpha channel usage PointSet PositionInterpolator ScalarInterpolator Shape Sphere TextureCoordinate TimeSensor TouchSensor Transform Viewpoint WorldInfo The following nodes have some implementation but are not finished: Background KeySensor Script SpotLight Not really complete. Works mostly as a Point light BeamWidth is currently ignored. Need to convert to spreadAngle radius is currently ignored. Need to convert to spreadAngle