OpenVRML library version 0.14.3
Copyright 1998, 1999, 2000 Chris Morley <cmorley@vermontel.net>
Copyright 2000, 2001, 2002, 2003 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 that
uses GLUT.


License terms
=============

   This bulk of the code in OpenVRML is Free Software available under
the terms of the Lesser General Public License (LGPL), version 2.1.
Other code in OpenVRML is used under "LGPL-compatible" licenses, which
effectively means that OpenVRML is Free Software which may be used as
a whole according to the terms of the LGPL.  The full text of the LGPL
can be found in the file "COPYING.LESSER".  Code used (and available for
reuse) under other 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.


Dependencies
============

   If your system is missing any of OpenVRML's 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>
     GLUT                   <http://opengl.org/developers/documentation/glut/index.html>
     Doxygen                <http://doxygen.org>

   OpenVRML can be built with reduced functionality to avoid many of
these dependencies.  See the following section, "configure options",
for details.

   Most of OpenVRML's dependencies are either commonplace or easy to
obtain for POSIX systems.  Windows users may encounter additional
difficulty compiling some of these dependencies, so compiled versions
are provided for convenience:
     <http://openvrml.org/dist/win32_required_libs_and_includes.zip>


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 using the Java
     Development Kit.  OpenVRML does not include Script node Java
     support by default.

 --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 GLUT.

 --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.

 --with-jdk=JDKHOME
     By default the configure script uses the standard include and
     library paths when testing for the JDK.  Use this argument to
     tell the configure script to use a JDK in a specific directory.


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@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@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>


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.
