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 "LGPL-
compatible" 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.
