OpenVRML library version 0.15.10
Copyright 1998, 1999, 2000 Chris Morley <cmorley@vermontel.net>
Copyright 2000, 2001, 2002, 2003, 2004, 2005
Braden McDaniel <braden@endoframe.com> Portions Copyright SGI and others
Available from <http://openvrml.org>
See the "NEWS" file for a list of changes in this release.
About
OpenVRML is a portable C++ library for reading and displaying VRML97 files. This distribution includes lookat, a sample viewer program.
License terms
The OpenVRML libraries comprising the VRML97 runtime ("libopenvrml") and the OpenGL renderer ("libopenvrml-gl") are available under the terms of the GNU Lesser General Public License (LGPL), version 2.1. These libraries incorporate some code that is available under "LGPLcompatible" licenses, which effectively means that the OpenVRML libraries are Free Software which may be used collectively according to the terms of the LGPL. The full text of the LGPL can be found in the file "COPYING.LESSER". Code used in these libararies under other terms (and available for reuse under the same terms) is as follows:
- OpenVRML uses the ANTLR parser generator and C++ support library which are in the public domain.
- OpenVRML includes GIF reading code by David Koblas:
Copyright 1990, David Koblas.
Permission to use, copy, modify, and distribute this software
and its documentation for any purpose and without fee is hereby
granted, provided that the above copyright notice appear in all
copies and that both that copyright notice and this permission
notice appear in supporting documentation. This software is
provided "as is" without express or implied warranty.
- OpenVRML's OpenGL renderer includes code from Silicon Graphics, Inc.:
(c) Copyright 1993, 1994, Silicon Graphics, Inc.
ALL RIGHTS RESERVED
Permission to use, copy, modify, and distribute this software for
any purpose and without fee is hereby granted, provided that the
above copyright notice appear in all copies and that both the
copyright notice and this permission notice appear in supporting
documentation, and that the name of Silicon Graphics, Inc. not be
used in advertising or publicity pertaining to distribution of the
software without specific, written prior permission.
THE MATERIAL EMBODIED ON THIS SOFTWARE IS PROVIDED TO YOU "AS-IS"
AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE,
INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR
FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON
GRAPHICS, INC. BE LIABLE TO YOU OR ANYONE ELSE FOR ANY DIRECT,
SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY
KIND, OR ANY DAMAGES WHATSOEVER, INCLUDING WITHOUT LIMITATION,
LOSS OF PROFIT, LOSS OF USE, SAVINGS OR REVENUE, OR THE CLAIMS OF
THIRD PARTIES, WHETHER OR NOT SILICON GRAPHICS, INC. HAS BEEN
ADVISED OF THE POSSIBILITY OF SUCH LOSS, HOWEVER CAUSED AND ON
ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE
POSSESSION, USE OR PERFORMANCE OF THIS SOFTWARE.
US Government Users Restricted Rights
Use, duplication, or disclosure by the Government is subject to
restrictions set forth in FAR 52.227.19(c)(2) or subparagraph
(c)(1)(ii) of the Rights in Technical Data and Computer Software
clause at DFARS 252.227-7013 and/or in similar or successor
clauses in the FAR or the DOD or NASA FAR Supplement.
Unpublished-- rights reserved under the copyright laws of the
United States. Contractor/manufacturer is Silicon Graphics,
Inc., 2011 N. Shoreline Blvd., Mountain View, CA 94039-7311.
OpenGL(TM) is a trademark of Silicon Graphics, Inc.
The included sample viewer program "lookat" and the Mozilla plug-in are available under the terms of the GNU General Public License (GPL), version 2. The full text of the GPL can be found in the file "COPYING".
Prerequisites
OpenVRML requires the Boost C++ libraries to build. Boost is packaged for many systems; so you should consult your operating system vendor if Boost is not already installed on your system. Otherwise, you can obtain Boost from <http://boost.org>.
Building OpenVRML is fairly demanding of system resources. It is recommended that build hosts have at least 512 MB of system memory.
Optional dependencies
OpenVRML has several optional dependencies. If your system is missing any of these dependencies, first check to see if they are provided by your operating system vendor. If not, consult the URIs below.
zlib <http://www.gzip.org/zlib/index.html>
libpng <http://www.libpng.org/pub/png/libpng.html>
libjpeg <http://www.ijg.org>
FreeType <http://freetype.org>
Fontconfig <http://fontconfig.org>
Mozilla <http://mozilla.org>
Java Development Kit <http://java.sun.com/j2se/>
OpenGL/Mesa <http://mesa3d.org>
GTK+ <http://gtk.org>
SDL <http://libsdl.org>
Doxygen <http://doxygen.org>
OpenVRML can be built with reduced functionality which can avoid these dependencies. See the following section, "'configure' options", for details.
"configure" options
OpenVRML's build configuration script accepts a number of arguments that modify what features are built and/or what packages OpenVRML depends on.
--disable-gzip
Disable support for gzipped VRML worlds. By default, OpenVRML uses
zlib to read gzipped worlds.
--disable-imagetexture-node
Disable support for the ImageTexture node. The node is still
parsed, and events to and from it are processed; but no textures
are rendered. By default OpenVRML uses libpng and libjpeg to read
get ImageTexture data.
--disable-text-node
Disable support for the Text node. The node is still parsed, and
events to and from it are processed; but no text is rendered. By
default OpenVRML uses Fontconfig for font discovery and FreeType to
get font data.
--disable-script-node-javascript
Disable support for JavaScript in the Script node. By default,
OpenVRML uses the Mozilla JavaScript library to execute JavaScript.
--enable-script-node-java
Enable support for Java in the Script node. "configure" searches
for a Java Native Interface (JNI) implementation, which may be
provided either by a Java Development Kit or the GNU Compiler for
Java (gcj). If using a Java Development Kit, you will probably
need to supply the include and library directories using CPPFLAGS
and LDFLAGS, respectively. See the file INSTALL for general
information on using these variables.
NOTE: The code supporting Script node Java is not 64-bit-clean in
this release of OpenVRML. Users of 64-bit platforms will not be
able to use this option.
--disable-gl-renderer
Do not build the GL renderer. OpenVRML's GL renderer depends on
OpenGL/Mesa.
--disable-lookat
Do not build lookat. lookat depends on SDL.
--disable-mozilla-plugin
Do not build the Mozilla plug-in. The Mozilla plug-in depends on
GTK+ and, of course, Mozilla.
--with-x
Passing the argument "--without-x" to "configure" will allow
OpenVRML to be built without depending on the X Windowing System.
This option is really only useful when building OpenVRML on
platforms where X is available alongside another windowing system
(e.g., Cygwin or Mac OS X with X installed).
--with-apple-opengl-framework
Use Apple's OpenGL framework on Mac OS X.
Significant preprocessor symbols
Certain code in OpenVRML is compiled conditionally depending on what symbols have been defined for the preprocessor. The "configure" script will add the appropriate compiler and preprocessor flags for you; in general you should use the options to "configure" documented in the previous section rather than define these symbols in CPPFLAGS. These symbols are documented here primarily for the benefit of persons trying to compile OpenVRML without the GNU build tools.
OPENVRML_ENABLE_GZIP
Include support for gzipped VRML files. Requires zlib.
OPENVRML_ENABLE_IMAGETEXTURE_NODE
Include support for images as textures using the ImageTexture node.
Requires libpng and libjpeg.
OPENVRML_ENABLE_TEXT_NODE
Include support for text using the Text node. Requires fontconfig
and FreeType.
OPENVRML_ENABLE_SCRIPT_NODE_JAVASCRIPT
Include support for JavaScript scripts in the Script node.
Requires Mozilla SpiderMonkey.
OPENVRML_ENABLE_SCRIPT_NODE_JAVA
Include support for Java scripts in the Script node. Requires the
Sun Java Development Kit.
HAVE_APPLE_OPENGL_FRAMEWORK
Use Apple's OpenGL framework. Mac OS X only.
Installation
Refer to the file "INSTALL" for detailed installation instructions.
Conformance
OpenVRML aspires to full conformance to the VRML97 specification. It isn't there yet, but much of the spec is supported, and OpenVRML will continue to get better.
Bug reports
Please report any bugs you encounter via the SourceForge bug tracking system:
<http://sf.net/bugs/?group_id=7151>
Note that you will need to log into SourceForge before reporting a bug.
Mailing lists
Two mailing lists are maintained:
- <openvrml-announce@lists.sourceforge.net> is a low-traffic list for announcments, typically regarding new releases. Subscription instructions are at <http://lists.sf.net/mailman/listinfo/openvrml-announce>
- <openvrml-develop@lists.sourceforge.net> is a forum for developers using and working on the libraries. User feedback is welcome in this channel. Subscription instructions are at <http://lists.sf.net/mailman/listinfo/openvrml-develop>
In order to curb unsolicited commercial e-mail, openvrml-develop permits posting only by subscribers.
Get involved
We're always grateful for help in improving OpenVRML. Consult the SourceForge Task Manager for a list of planned improvements:
<http://sf.net/pm/task.php?group_project_id=2579&group_id=7151&func=browse>
Unassigned tasks are up for grabs, but please post to the openvrml-develop mailing list to alert others of your intention to take a task. This helps avoid duplicated effort. If you do not see the task you'd like to pursue listed in the Task Manager, but you think the library could benefit from your contribution, post a proposal to the openvrml-develop mailing list.
