# $Id: README,v 1.4 2004/04/18 22:19:32 wes Exp $
# $Revision: 1.4 $
# $Log: README,v $
# Revision 1.4  2004/04/18 22:19:32  wes
# Updates for 1.5.2
#
# Revision 1.3  2004/01/17 04:02:34  wes
# Updates for 1.5.1 beta..more to come.
#
# Revision 1.2  2003/02/02 02:07:13  wes
# Updated copyright to 2003.
#
# Revision 1.1.1.1  2003/01/28 02:15:23  wes
# Manual rebuild of rm150 repository.
#
# Revision 1.12  2002/09/22 22:57:24  wes
# Updates for v1.4.3 distribution.
#
# Revision 1.11  2002/06/17 01:13:06  wes
# Updated date on 1.4.2.
#
# Revision 1.10  2001/10/14 23:47:00  wes
# v1.4.1 updates.
#
# Revision 1.9  2001/07/15 23:39:06  wes
# Changed version number from 1.4.0-beta1 to 1.4.0.
#
# Revision 1.8  2001/06/03 20:56:20  wes
# v140-beta1
#
# Revision 1.7  2001/03/31 17:13:47  wes
# v1.4.0-alpha-2 checkin
#
# Revision 1.6  2000/12/03 22:52:37  wes
# v1.4.0-alpha-1
#
# Revision 1.5  2000/08/31 02:13:57  wes
# Updated version number, 1.3.0 release date.
#
# Revision 1.4  2000/05/17 14:34:36  wes
# partial 1.3.0 update.
#
# Revision 1.3  2000/04/22 02:03:15  wes
# More OpenRM 1.2.1 updates.
#
# Revision 1.2  2000/04/20 17:54:11  wes
# OpenRM 1.2.1 info updates.
#
# Revision 1.1.1.1  2000/02/28 21:29:40  wes
# OpenRM 1.2 Checkin
#

Current Version: OpenRM 1.5.2, 18 April 2004

Overview
--------

OpenRM Scene Graph is set of tools and utilities that implement a
high performance, flexible and extensible scene graph API. Underneath
OpenRM, OpenGL(tm) is used as the graphics platform for rendering,
so OpenRM is highly portable and can deliver blazing rendering speeds.
OpenRM can be used on any platform that has OpenGL, and has been
built and tested on:
   x86/Athlon Linux (both 32- and 64-bit OS's)
   Irix
   Solaris
   FreeBSD
   MacOSX-X11
   Win32 (95/98/NT/2K/ME/XP).

OpenRM is a derivative work of RM Scene Graph (tm), a commercial
scene graph product from R3vis Corporation. Late in 1999, R3vis announced
the release of OpenRM into the Open Source community, with the
OpenRM debut occuring on 1 March 2000. R3vis continues to maintain
and develop RM Scene Graph, which contains additional features not
present in OpenRM. R3vis release OpenRM using an Open Source License (LGPL)
to promote graphics technology, with sensitivity towards the high 
performance research and scientific community, where performance
and economics are important.

Why should you use OpenRM, rather than a commercial scene graph API?
There are four reasons. First, the price is right. Second, inside
OpenRM, you'll find technology and a design that is superior in many
respects (but not all) to what is available in the commercial market.
Third, you get source code. Fourth, OpenRM has a bright future, with
support from leading research institutions and universities.

Why should you use OpenRM rather than some other Open Source scene
graph API? This question is more difficult, since there are several
good ones out there. It depends upon your application, ultimately.
OpenRM doesn't impose an event processing model on you: you can use
the rmaux library for event management, or you can use your own or
someone else's. OpenRM's focus is upon a high performance scene graph
model, period. Unfortunately, there is no "scene graph standard", so
there will continue to be a proliferation of scene graph products
and projects floating around, each with their own flavor and
emphasis. Find one that suits your needs and use it. Another compelling
reason to investigate OpenRM is the fact that OpenRM development
has been funded by SBIR Grants from the US Department of Energy,
Office of Science - this is a "serious" Open Source project.


Licensing
---------

OpenRM is being distributed under the terms of the LGPL license.
See the LICENSE.html file included with the distribution; it contains
the text of the LGPL license in HTML form, and was snarfed from
the GNU.ORG website.

We want you to use OpenRM in commercial apps. In return, we ask
that you play by the rules outlined in the LGPL. Essentially, the
*use* of OpenRM in your commercial apps is free from any restrictions
whatsoever: you can charge money for your product without paying
royalties, etc. The LGPL is quite commercial-friendly in this sense,
and is one of the primary reasons why we chose to use the LGPL rather
than the GPL (which has onerous and undesirable viral characteristics).
On the other hand, if you *modify* OpenRM, you *must* return your
modifications to the OpenRM project - this characteristic of the LGPL
strongly preserves the integrity of the code base, and ensures that
OpenRM remains Open Source in perpetuity.


Documentation
-------------

Scene graph APIs can be complicated critters. There are four forms of
documentation available with this project. First is the code itself.
Study the demonstration programs. Second, there is a csh script in the
rm152/doc directory that can be run that will generate HTML pages
containing "man page" style documentation for the subroutines in
OpenRM. Alternately, you can "make docs" from the rm152 directory. Those 
derived HTML pages will be posted on the www.openrm.org website for your 
convenience, and updated with new code releases. Third, there will be links 
to release notes and such from the OpenRM website. Fourth, there is a 
professional-quality Programming Guide that may be purchased from the 
www.r3vis.com website for a nominal fee. Your purchases of the OpenRM
Programming Guide help the project to defray the expenses associated
with generating high-quality documentation.

OpenGL documentation is available from a number of sources. We suggest
the OpenGL Red and Blue books, published by Addison-Wesley. There are
a number of other sources of OpenGL information, including www.opengl.org.

The OpenRM project is not intended to provide support for OpenGL. Those
of you working on h/w accelerated Linux projects can appreciate the
issues involved. 


Requirements
------------

There are four software dependencies for building OpenRM: (1) you need a C 
compiler (required), (2) you need OpenGL (required), (3) you need to have 
an implementation of Posix threads on your machine (required), and (4) 
you will need version 6b of the JPEG library and header files (optional).

On our Linux systems, we use Mesa (www.mesa3d.org) for OpenGL (software
rendering), and have made extensive use of the OpenGL drivers from nVidia 
(nvidia.com). The nVidia drivers perform well, but do have limits and
occasionally things break. When things break, we send email to nVidia,
and they sometimes fix the problem. See the RELEASENOTES for more information.

On Win32, check your documentation for OpenGL. We use MSVC++ 6.0,
which includes the OpenGL headers and libs as part of the
distribution. Typically, we build on Win2K boxes - those executables
run on all other Win32 platforms. In earlier days, we successfully 
built OpenRM on Win95/98/Me systems, but we don't have any of those
boxes around anymore. Current build/test systems include Win2K,
and WinXP Home/Pro.

Our Unix-based test and development environments (Linux, Solaris and Irix) 
all have an implementation of Posix threads included with the system. We 
assume other Unix variants include a vendor-supplied implementation as well. 
Win32 users can download (for free) a version from:
	http://sources.redhat.com/pthreads-win32/
That version contains source and prebuilt binaries - no compilation is
required. This implementation works well - please drop Ross Johnson a
note of thanks (pthreads-win32 project leader). For more information,
refer to the Documentation page on the OpenRM website. From that page,
you can find links to detailed build information for Unix and Win32 systems.

Some systems (IRIX, Linux) include the JPEG headers and libraries
as part of the system. Others (Solaris, MacOSX, Win32) require that you
obtain and build the source. You can download the JPEG-6b library
source code for free from the Web by visiting:
	http://www.ijg.org/
You can disable the JPEG dependency if desired by making a one-line
change to the file include/rmi/rmi.h (see comments inside the file).

We used to have build and install instructions inside of this file. Since
there are also versions of this information at the OpenRM website, we have
removed the install/build instructions from this file in order to have
fewer bits of information to maintain. The most current install/build
instructions are linked from the Documentation page on the OpenRM website.


Trademarks
----------

RM Scene Graph and RM are registered trademarks of R3vis Corporation.

OpenGL is a registered trademark of SGI. Solaris is a registered
trademark of Sun Microsystems, Inc. Windows is a registered trademark
of Microsoft Corporation.


Copyright
---------

OpenRM is Copyright (C) 1999-2004, R3vis Corporation, All Rights Reserved.
--EOF--
