Changes new in version 0.18.9, 5 May, 2012 ======================================================================== - Changes to build with Boost 1.47.0, XULRunner 12.0, and libpng 1.5. Changes new in version 0.18.8, 21 April, 2011 ======================================================================== - Fix botched libopenvrml library version. Changes new in version 0.18.7, 17 April, 2011 ======================================================================== - Build against XULRunner 2.0. - Added Visual C++ 2010 project files. - Fixed issues compiling with Text node rendering disabled. - Improved parser resilience. Changes new in version 0.18.6, 2 June, 2010 ======================================================================== - Fixed memory corruption issues in the PNG and JPEG readers when reading grayscale images. - Fixed memory leaks in Text node rendering. Changes new in version 0.18.5, 15 February, 2010 ======================================================================== - Fixed build configuration issues for Mac OS X and Cygwin. Changes new in version 0.18.4, 13 February, 2010 ======================================================================== - Added missing Visual C++ project file for openvrml-dl. - Fixes for building with Boost 1.41.0. - Fixes to build with XULRunner 1.9.2. - Fixed crashes associated with concurrently downloading resources in openvrml-xembed. Changes new in version 0.18.3, 13 August, 2009 ======================================================================== - Fixes for building on Windows. Changes new in version 0.18.2, 7 July, 2009 ======================================================================== - Fixed resolution of the Java virtual machine library for ppc and ppc64. Changes new in version 0.18.1, 5 July, 2009 ======================================================================== - Fixed an issue with symbol visibility for the event emitter/listener class templates. Changes new in version 0.18.0, 4 July, 2009 ======================================================================== - Experimental support for Java in the Script node. - Scripting engines are now loaded as binary plug-in components. - Node implementations are now loaded as binary plug-in components. - Refactored code into more files to reduce memory usage during compilation and improve performance of parallel builds. Changes new in version 0.17.12, 16 March, 2009 ======================================================================== - Fixes to build against X11 on Mac OS X. Changes new in version 0.17.11, 2 March, 2009 ======================================================================== - Moved D-Bus interaction in openvrml-xembed to a background thread, preventing some deadlocks. - Fixed configure test for nonstandard GLU tesselator callback function signature on Mac OS 10.4 and previous. - Changed the MIME media type for VRML-style X3D to "model/x3d-vrml" in accordance with the pending registration. Changes new in version 0.17.10, 26 October, 2008 ======================================================================== - Fixed 32-/64-bit parity and stream handling bugs in openvrml-xembed. Changes new in version 0.17.9, 9 October, 2008 ======================================================================== - Use D-Bus for communication with the OpenVRML XEmbed control. Changes new in version 0.17.8, 13 August, 2008 ======================================================================== - Fixed an initialization problem in openvrml-xembed. Changes new in version 0.17.7, 12 August, 2008 ======================================================================== - Fixed potential crashes when processing coordinate, color, and normal indices. - Fixed potential failure in the Mozilla plug-in and openvrml-player due to inconsistent handling of stream handles. Changes new in version 0.17.6, 17 June, 2008 ======================================================================== - Fixed a crash in initialization of openvrml-xembed (on some OpenGL implementations). - Fixes to avoid arbitrary memory growth when running JavaScript. - Fixes to OpenVRML's read_write_mutex that resolve some deadlocks. - Build configuration improvements to better support building against Seamonkey. - Build configuration improvements to better support building against the stand-alone SpiderMonkey distribution. Changes new in version 0.17.5, 5 February, 2008 ======================================================================== - Fixed PROTO instantiation not to clone non-default initial values. In addition to improving performance, this fixes a crash that occurred when an initial value was or contained a Script node. - Fixed parsing of PROTO definitions with multiple IS mappings from different components of the same exposedField/inputOutput. - Changed the build configuration to default not to apply an -rpath argument for the Gecko runtime library directory to executables that link with libopenvrml. Changes new in version 0.17.4, 26 January, 2008 ======================================================================== - Fixed a crash in the Mozilla plug-in. - Fixed EXTERNPROTO instances to apply default field values declared in the PROTO definition. Changes new in version 0.17.3, 17 January, 2008 ======================================================================== - Fixed a crash in openvrml-xembed caused by a race during initialization. - Fixed a bug in the Mozilla plug-in that prevented external resources from loading. Changes new in version 0.17.2, 9 January, 2008 ======================================================================== - Fixed a crash in relative URL resolution. - Added support for gzip-encoded resources to openvrml-player. Changes new in version 0.17.1, 6 January, 2008 ======================================================================== - Fixed a crash when parsing Script nodes with eventIns or eventOuts declared. - Fixed a problem compiling with gcc 4.2 and later. Changes new in version 0.17.0, 19 December, 2007 ======================================================================== - New parsers using Spirit, including a new parsing interface that accommodates hooking user code directly into the parsing process. - OpenVRML no longer uses ANTLR for parsing. - Numerous concurrency improvements and other bug fixes. Changes new in version 0.16.7, 11 November, 2007 ======================================================================== - Fixed crash when failing to resolve a URI for a image. - Fixed bug in the uri copy constructor that caused optimized builds using the Microsoft compiler to crash. - Updates to compile with Visual C++ Express and the Windows SDK. - Look for pkg-config metadata provided by XULRunner. - Various resiliency improvements to configure tests. Changes new in version 0.16.6, 12 July, 2007 ======================================================================== - Fixed JavaScript support to work in the presence of JS_THREADSAFE. - Added a configure option --with-libjs to accommodate compiling against a stand-alone SpiderMonkey distribution. Changes new in version 0.16.5, 2 June, 2007 ======================================================================== - Fixed openvrml-player to know about its application data directory. Changes new in version 0.16.4, 30 April, 2007 ======================================================================== - openvrml-gtkplug has been renamed to openvrml-xembed. - Added openvrml-player, a stand-alone container for openvrml-xembed. openvrml-player uses libcurl for resource fetching. - Fixed coordinate generation for Extrusion node rendering. - Fixed progressive rendering of JPEG images. - Various other minor bug fixes. Changes new in version 0.16.3, 30 December, 2006 ======================================================================== - Changed openvrml-gtkplug only to expect an initial stream when passed the --initial-stream argument. - Fixed deadlocks in openvrml-gtkplug. - Fixed a bug in openvrml-gtkplug that caused it to consume 100% of the CPU. - Fixed relative URI resolution on Windows. - Mozilla plug-in now registers itself as a handler for model/x3d+vrml. - Fixes for compiling on Mac OS X PPC. - Fixes for compiling with Apple's OpenGL framework. - Fixes for compiling with Microsoft Visual C++ 8.0 Service Pack 1. Changes new in version 0.16.2, 29 November, 2006 ======================================================================== - Fixed the parsers to use the user-supplied std::ostream consistently for error and warning output. - Fixed the parser error and warning output to report line and column number information more consistently and accurately. - Fixed the build system such that a failure to find all of GtkGLExt's prerequisites will not cause configure to fail. - Fixed the build system to better accommodate a user-supplied antlr executable. Changes new in version 0.16.1, 28 October, 2006 ======================================================================== - Replaced the Mozilla plug-in's openvrml-player helper program with openvrml-gtkplug, a reusable out-of-process GTK+ VRML browser component. - Removed use of XPCOM from the Mozilla plug-in. This should allow the plug-in to work in any browser that supports NPAPI and XEmbed plug-ins. - Added basic rendering of Text nodes on Windows. Font selection remains unimplemented. - Fixed problem where GtkGLExt was built even when not needed. - Fixed problem locating the Rez resource compiler when building on Mac OS X. - Fixed problems building with Cygwin X11 OpenGL. - Support building with FreeType 2.2. Changes new in version 0.16.0, 12 August, 2006 ======================================================================== - User-extensible I/O subsystem based on the standard C++ IOstreams. - Asynchronously load Inline worlds. - Asynchronously load and progressively render PNG and JPEG images. - Added support for nonnative EXTERNPROTOs. EXTERNPROTO implementations are loaded asynchronously. - Support for constructing scene graphs from Classic VRML-encoded X3D, including the Core, Interchange, Interactive, MPEG4, Immersive, and Full profiles. - Mozilla plug-in now uses the Web browser for resource fetching; so it gets the benefit of the Web browser's cache. Changes new in version 0.15.10, 4 August, 2005 ======================================================================== - Now compiles with gcc 4.0.1. - Fixed problem compiling on FreeBSD. Changes new in version 0.15.9, 6 July, 2005 ======================================================================== - Fixed 64-bit cleanliness issue in the Mozilla plug-in. Changes new in version 0.15.8, 5 June, 2005 ======================================================================== - Really fixed --disable-mozilla-plugin configure option. - Fixed rendering of Background nodes (so that the background no longer moves). Changes new in version 0.15.7, 20 April, 2005 ======================================================================== - Fixed 64-bit cleanliness issue in the Mozilla plug-in. - Fixed --disable-mozilla-plugin configure option. - Replaced use of DejaGnu with GNU Autotest. Changes new in version 0.15.6, 26 January, 2005 ======================================================================== - Fixed build to more reliably find Mozilla headers. - Fixed behavior of openvrml::find_interface function, which has the side effect of fixing a problem parsing a field "zzz" in a node that also has an eventIn "set_zzz" or an eventOut "zzz_changed". - Fixed crash on malformed UTF-8 in the Text node. - Fixed problem parsing rotation values. Changes new in version 0.15.5, 10 January, 2005 ======================================================================== - Mozilla plug-in is now out-of-process. This addresses the interactivity issues present in 0.15.4 and provides an overall more robust design for the plug-in. - Fixed bugs in openvrml::browser::find_node and openvrml::node_traverser. - Fixed a problem with the build system when configuring with --disable-script-node-javascript. - Updated API documentation to use Doxygen 1.4. Changes new in version 0.15.4, 29 December, 2004 ======================================================================== - Refactored use of GtkGLExt in the Mozilla plug-in. - Fixed a typo in a dependency of the openvrml-gl-devel RPM package. Changes new in version 0.15.3, 25 December, 2004 ======================================================================== - GtkGLExt is now incorporated into the OpenVRML distribution. - Problems reloading the Mozilla plug-in have been fixed. - The Mozilla plug-in now handles relative URIs in Web pages. - Fixed crash when built with Microsoft Visual C++ 7.1 in the Release configuration. - Minor bug fixes. Changes new in version 0.15.2, 3 December, 2004 ======================================================================== - Made building the tests optional. - Minor bug fixes. Changes new in version 0.15.1, 27 November, 2004 ======================================================================== - Fixed problems compiling with Microsoft Visual C++ 7.1. This release really does compile with that compiler. Honest. Changes new in version 0.15.0, 26 November, 2004 ======================================================================== - lookat now uses SDL instead of GLUT and is licenced under the terms of the GPL. (The OpenVRML libraries remain available under the terms of the LGPL.) - OpenVRML now builds with Microsoft Visual C++ 7.1. - Rearchitected event propagation to eliminate string comparisons. Event propagation is now much, much faster. - Added a Mozilla plug-in (for platforms that use a GTK+ 2.x-based Mozilla browser). In this release the plug-in is mostly a proof of concept which may not be usable for day-to-day browsing of VRML worlds. - Eliminated use of regex (so Windows users no longer need the regex library.) - Fixed too many bugs to mention here. Changes new in version 0.14.3, 16 November, 2003 ======================================================================== - Fixed crash in destruction of img. - Fixed problems building and running lookat on Mac OS X. Changes new in version 0.14.2, 19 October, 2003 ======================================================================== - Fixed a few crash-inducing bugs. Changes new in version 0.14.1, 30 September, 2003 ======================================================================== - Fixed error in floating point tolerance computation that would result in assertion failures. Changes new in version 0.14.0, 28 September, 2003 ======================================================================== - Changed naming convention for parity with the convention established by the C++ standard library. - Improved error handling in JavaScript binding. - Various and sundry bug fixes. Changes new in version 0.13.0, 20 December, 2002 ======================================================================== - Fixed shutdown order problems that were causing crashes-on-exit in applications. - Fixed problems rendering Inline nodes with relative URIs. - OpenVRML now uses FreeType and Fontconfig for Text/FontStyle node support. - VrmlScene has been replaced with Browser. - VrmlNamespace has been replaced with Scope. - Various other bug fixes. Changes new in version 0.12.5, 15 November, 2002 ======================================================================== - Updated Microsoft Visual C++ project files are now included. - Various bug fixes. Changes new in version 0.12.4, 1 July, 2002 ======================================================================== - Fixed bug in GLUT detection macro. Changes new in version 0.12.3, 30 June, 2002 ======================================================================== - Fixed problems building with gcc 2.95.3, icc 6.0 build 020312Z, and cl 12.00.8804. - Minor bug fixes. Changes new in version 0.12.2, 20 June, 2002 ======================================================================== - Minor build fixes. - Quelled a number of compiler warnings. Changes new in version 0.12.1, 17 June, 2002 ======================================================================== - Minor build fixes. Changes new in version 0.12.0, 16 June, 2002 ======================================================================== - Nodes have been completely rearchitected so as to abstract their implementations from the core library. Many bugs fixed in the process, and a few regressions introduced. - Preliminary (incomplete) support for Java in the Script node. - Added VrmlMatrix class. - CylinderSensor is now supported. - Viewpoints inside Transforms should work correctly now. - Applied sanity to use of the garbage collector in the JavaScript binding. - The core library can now be compiled without OpenGL/Mesa. - OpenVRML now uses namespaces extensively. - Now using pkg-config. - Mostly-complete Doxygen documentation. Changes new in version 0.11.2, 18 October, 2001 ======================================================================== - Fixed some minor regressions since 0.10.1. - `configure' now works for `--without-mozjs'. Changes new in version 0.11.1, 5 August, 2001 ======================================================================== - Fixes to the Visual C++ build. - Other minor bugfixes. Changes new in version 0.11.0, 30 July, 2001 ======================================================================== - New memory manager for nodes, using a refcounted smart pointer instead of an intrusive reference count. - Significant reworking of the JavaScript binding. More to come. - Now (optionally) depends on the Mozilla distribution of JavaScript instead of compiling our own into the library. - libpng and libjpeg are now optional dependencies. - API cleanup for VrmlField classes. - Consolidated node implementations into fewer files. - Support building DLLs under Win32 Changes new in version 0.10.1, 31 January, 2001 ======================================================================== - Minor fixes to build and RPM spec file. Changes new in version 0.10.0, 21 January, 2001 ======================================================================== - Changed package directory structure. - Minor bugfixes. Changes new in version 0.9.1, 14 December, 2000 (not publicly released) ======================================================================== - Changed library names from libvrml97 and libvrml97gl to libopenvrml and libopenvrml-gl, respectively. - Changed header file installation locations. - API cleanup: improved const-correctness many places and changed many of the VrmlField subclass methods to match the semantic used by the corresponding objects in the ECMAScript binding. - JavaScript support restored to the default build. Changes new in version 0.9.0, 7 December, 2000 ======================================================================== - Name change: the library is now called OpenVRML. - Project has moved to SourceForge: - Library is now covered by the GNU Lesser General Public License (LGPL). - New parser, removing the dependency on SGI parser code. (Braden McDaniel ) - View frustum culling and navigation fixes. (Christopher K. St. John , S. K. Bose ) - Can now compile under CygWin. (Jean-Daniel Fekete ) - SphereSensor support. (Matt Giger .) - MPEG reader for MovieTexture nodes. (Chris Morley ) - Updated the JavaScript support to use Mozilla JS 1.5rc2. (Braden McDaniel ) - Lots of clean ups and fixes. - Some significant regressions in this release, unfortunately. Architectural changes have left some parts of the library in a state of flux for this release, but enough progress has been made overall that we felt a release would be beneficial anyway. Changes new in version 0.8.2, January 2000 ======================================================================== - S. K. Bose has revived the Win32 build. - Braden McDaniel backed out requirement for "namespace" support from the C++ compiler ... for now. Changes new in version 0.8.1, December 1999 ======================================================================== - LibVRML97 is now hosted on the Open VRML Advancement League (OVAL) CVS server. - Braden McDaniel and Christopher K. St. John reorganized the GNU build, and added the use of libtool. - Braden McDaniel moved xmlookat, gtklookat, win32lookat, and the lookat Netscape plug-in out of the LibVRML97 build and distribution to be placed in their own packages. - Braden McDaniel updated the JavaScript code with a snapshot from the mozilla.org CVS server. - Michael Louka enabled a Mac build. (Yea!) Changes new in version 0.8.0 March X 1999 (Unreleased) ======================================================================== - Erik Andersen has revived the win32 build and fixed a bunch of portability problems. MSVC++5 project and workspace files are again included in the distribution, as well as the generated parser/lexer sources (so you don't need flex and bison to build anymore on most platforms). - Steve Sycamore wrote a netscape plugin. - Kumaran Santhanam has contributed a sound driver (Sound and AudioClip nodes) for Linux/OSS. See README.SOUND. - Erik Andersen wrote the gtklookat browser. - S. K. Bose also worked on the win32 port and ported the javascript support to windows. - Joe Longson added methods to retrieve scene geometry information from client applications. - Some bug fixes, including a problem with negative TimeSensor fraction_changed eventOuts, a crash when writing an error message about invalid node names in ROUTEs, and an empty CoordIndex lexer fix all submitted by Kumaran Santhanam , and a Text/MFString problem found by Anton Eliens . - Implemented PlaneSensor (USEd PlaneSensors will not behave correctly yet, though). - The stubs for Java in Script nodes have been added (using the Sun JDK) but it is not worth enabling yet. Java/JNI hackers are welcome to jump in... - I fixed DEF name scoping issues and re-did the PROTO/EXTERNPROTO implementation so it is now robust and spec-conforming and just tried to keep up with all the stuff being done by everyone else. - The JavaScript support is more robust, including support for IS'd script fields. - Lexer couldn't handle leading '+' on numbers. Changes new in version 0.7.9 Nov 4 1998 ======================================================================== - Erik Andersen contributed some code for a GLP'd GTK viewer. It doesn't display anything yet, though, so it is not built by default. - Gamma setting code for PNG images submitted by Greg Roelofs . - Alpha/zlib porting changes submitted by Stuart Anderson . At least zlib version 1.1.2 should be used (or you may get undefined symbols gzopen,gzread,gzclose). - Rewrote the texture handling in the OpenGL code to use OpenGL1.1 glBindTexture() rather than putting textures in display lists. Mesa has been using the OpenGL 1.1 API since Mesa-2.0 and I don't know of any commercial OGLs still at 1.0. If this causes a problem let me know. On my system I see about a 15-25% speedup for textured scenes with Mesa-3.0 (eg, orbit3.wrl). Background node panorama URLs have also been sped up for some cases independent of the bindTexture changes. - IndexedFaceSets respect the "convex FALSE" attribute (subject to the caveats listed below about GLU versions). - Fixed a problem when reading non-transparent GIFs after one with transparency has been read. - Fixed a problem with more than 32 nested Transforms (can't use glPushMatrix/glPopMatrix due to an implementation limit). Unfortunately, this slows down the code a little, at least for now. - Binding to a viewpoint now flushes the accumulated user navigations. Viewpoints still don't do the jump/interpolation stuff. - Report the integral average of the last 2 frames in the rendering rate display (toggled via the '/' key) to reduce the flickering. - Display multiline/sized/justified Text (but you still need to compile with GLUT to render Text nodes, even in the Xt viewer). - Fixed a compilation problem in ViewerOpenGL if you didn't have GLU1.2. - Fixed Appearances of IndexedLineSets/PointSets (and I mean it this time :). Changes new in version 0.7.8 ======================================================================== - Subclass from System to provide xmlookat with better interface (well, a message box and a Viewpoints menu, anyway). - Add a load from callback function in VrmlScene to support netscape plugin streams. - Better redraw event handling in Xt/Motif. - Support for reading compressed (gzip'd) files (as long as you have PNG/ZLIB). - Fixed egcs-1.1 problem. - Fixed rendering of 3 point IndexedFaceSets and appearances of Lines/Points. - Started support for non-convex geometries - Extrusions only so far and you will need a version of OpenGL that supports the GLU1.2 API. Note that Mesa (as of version 3.0 anyway) is at GLU1.1, but you can get my updates to the Mesa 3.0 GLU code to bring the tesselator API up to date. Changes new in version 0.7.7 ======================================================================== - Remove use of STL stack and its associated portability problems. - Support for IS'd Script fields. - Fixes to set_xxx eventIns in Script nodes, MF* eventOuts in javascript. - Stuart Anderson of Metrolink contributed a FreeBSD makefile. Changes new in version 0.7.6 ======================================================================== - Read PNG paletted grayscale images properly. Changes new in version 0.7.5 ======================================================================== - Fixes to material/texture handling. I think all but PNG paletted grayscale images are working properly now. - Draw frame rate display last so it isn't obscured (duh). - More Javascript fixes. MF* fields work better, but SFImage properties still can't be set after creation and array property can't be read. Changes new in version 0.7.4 ======================================================================== - Some navigation improvements: arrow keys can be used to navigate forward, backward, left, right; Page Up/Down cycles through viewpoints, Home key resets view to currently bound viewpoint settings (undoes any user navigation), left mouse rotates about center of the window rather than the world origin. - Viewpoints now respect the transforms above them in the scene graph so I could look at Greg Roelofs' (newt@pobox.com) PNG in VRML test page at http://www.cdrom.com/pub/png/pngvrml.html - thanks, Greg. Greg also pointed out some mistakes in the texturing which will be fixed soon. - Support for transparency and grayscale GIF textures. - Fixed the keyboard input problem with xmlookat. - Xt viewer will try to get less-capable visuals if a double-buffered RGBA with Z-buffer is not available rather than failing. - Some OpenGL optimization (about 50% speedup for most scenes). - Started EXTERNPROTOs, simple ones are working. Changes new in version 0.7.3 ======================================================================== - Added support for "vrmlscript:" (actually just runs javascript). - S. K. Bose (bose@garuda.barc.ernet.in) fixed NormalInterpolators to interpolate on the surface of the unit sphere. - OpenGL viewer can now be run in an Xt/Motif/Lesstif widget as an alternative to using the GLUT toolkit. Added xmlookat example. The Xt/Motif version doesn't catch keyboard input yet, and seems slow... - GLUT version uses timeouts rather than the glut idle function, so lookat's CPU usage is not always 100% anymore. - Started Text support, but not done yet (to get text, you must compile with -DHAVE_GLUT and link with the glut library, even if you run the Xt/Motif viewer). This holds true for the frame rate display, too. Changes new in version 0.7.2 ======================================================================== - Javascript browser object API completed, including createVrmlFromString, createVrmlFromUrl, loadUrl, add/deleteRoute, and replaceWorld. - Fixed an error caught by egcs in VrmlNodeScript.cpp, added a makefile for RedHat 5.1. Changes new in version 0.7.1 ======================================================================== - Due to popular demand, '/' (slash) key toggles frames/second display. - Some performance improvements in the picking code. Changes new in version 0.7 ======================================================================== - More javascript API. - Hacked in some basic http support and support for -geometry and -url arguments so lookat can be run under XSwallow. - Fixed (?) OrientationInterpolator to handle axes pointing in opposite directions. - Fixed texture coordinates on Spheres. - Put example files into a separate distribution file, cleaned up makefiles a little more. - The Windows port has not been updated lately, so beware... Changes new in version 0.7-pre ======================================================================== This is a pre-release of 0.7 to make sure there are no build problems with the new makefile. When I complete the javascript support, I'll make the real 0.7 release. - Billboard, Inline, MovieTexture (GIF only so far), Script (preliminary javascript support), TouchSensor, and VisibilitySensor nodes. - Preliminary javascript: support in Script nodes. No SF*/MF* objects are available yet. - Fixed TimeSensor start conditions. - Fixed reversed indexing, generate normals on ElevationGrids. - Added generation of normals (per face only) and fixed texture coordinates for IndexedFaceSets. - Fixed Cone normals (again). - Fixed IndexedFaceSet color/texture problem. - Removed virtual inline functions to reduce object sizes and speed up compilations. - Fixed some parser problems including "#viewpoint" URL parsing. Thanks to Shelby Moore (support@3Dize.com), CTO 3Dize, for comments, critiques, and suggestions for improving the lexing/parsing and field/node management code. - Defined classes for the remaining nodes so the standardNodes.wrl file is no longer necessary. The drag sensors and sound/audioclip classes don't actually do anything, though. - Fixed problems with avatarSize 0 (thanks to Steve Sycamore for locating this problem). - Simplified the makefile so porting should be less hazardous. - Included a subdirectory (wrl) containing some sample files testing the new features.