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.