Welcome to Xj3D codebase. This are notes for the 15 Sept 2002 dev release of Xj3D. Major changes since M5: ----------------------- Complete rewrite of all of the event model evaluation code. It is now fully specification compliant. It is also much more efficient and generally renderer-independent. The only time it dips into renderer dependent code is for navigation and view-dependent actions. (ie sensors) No garbage generated and only updates all objects once per frame rather than after every eventIn recieved. Initial implementation for a mobile-capable browser/renderer Full runtime support for an in-memory VRML scene with no rendered output. Not all works yet, no navigation or any sensors, just basics. Vector math library following OpenGL conventions ProximitySensors now support position_changed and orientation_changed VisibilitySensors more accurate about when they are detected. Combination of this with ProxSensor changes means the old-style VRML97 HUDs work now. Protos and Externprotos coming and going from the scene graph work correctly for the inclusion of sensors and bindables. Hex encoding of integer values works for all SF/MFInt32 fields. MultiTexturing. Modified version of the Blaxxun proposal but more VRML-like. OpenGL renderer supports IFS and more efficient vector maths. Viewpoints movable and bindable. Multi-pass rendering available for handling output devices like Elumens Dome & VisionStations. LOD is back functional again. ECMAScript debugging. Was not previously updating the field values on successive calls to the same script instance. SAI code is brought up to date with last draft of spec. Next dev release should have it back parallel with the ISO CD Text. SAI is not implemented, however. You can just compile against it. H-Anim support is working fully now, including 2001 spec. Matt Beittler has offered to test against full test suite for complete conformance checking. Known Issues: ------------- General: Huge amounts of garbage generated internally within Java3D's picking subsystem using Cone-based objects. Both PickConeRay and PickConeSegment are generating upwards of 2MB of garbage a second on a moderately complex scene! There are bug reports in for both of these. browser Viewing files with the Java3D-based renderers are causing stuttering problems when dragging the mouse. This appears to be some issue between Java3D and Swing as debugging shows that the J3D behaviours are still executing internally, but are not blitting the pixels to screen. There's nothing we can do about it. Suggest you try using AWT-based UI and see if that helps. 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. Loader Works as advertised. Removed old loader example as the true one is supposed to be LoaderDemo. License ------- This source is licensed under the GNU LGPL v2.1 Please read http://www.gnu.org/copyleft/lesser.html for more information This software comes with the standard NO WARRANTY disclaimer for any purpose. Use it at your own risk. If there's a problem you get to fix it.