# $Id: README,v 1.5 2005/06/12 21:23:48 wes Exp $ # $Revision: 1.5 $ # $Log: README,v $ # Revision 1.5 2005/06/12 21:23:48 wes # Updates for 1.6.0-alpha2 tarball. # # 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.6.0-2, 11 September 2005 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). Beginning with OpenRM v1.6.0 (June 2005), we have included the jpeg-6b sources along with the OpenRM-devel code distribution. We have not made any changes to the original jpeg-6b sources. 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-2005, R3vis Corporation, All Rights Reserved. --EOF--