Installation    Contents of Distribution    Documentation   Plugin Dependencies   Data Sources   Contacts

The Open Scene Graph (OSG) is an Open Source (LGPL), Standard C++, OpenGL based scene graph for cross platform 3D real-time visualisation.  The OSG is simply a scene graph and by design does not attempt to encompass application frame works and user interface, the design is kept focused on the issues of representing a 3D scene and rendering it in real-time. The OSG currently supports Linux, IRIX, Windows and FreeBSD platforms with the potential of support for further platforms. A Mac port is already underway.

The OSG is composed of a core scene graph library (osg) which is the basis for all osg apps, an optional scene graph utility library (osgUtil) which can be used for higher level functionality such cullers and renderers and a database utility library (osgDB) coupled with a set of plug-ins (osgPlugins) which are dynamically loaded by the osgDB library to support the reading and writing of file formats or node toolkits. Support for rendering of true type fonts is supplied by the osgText library, this is optional, you only need to compile it if you require font rendering.

There are also support libraries such as osgGLUT for bringing up a basic UI, however this is not the focus of the OSG. For more sophisticated user interfaces it is recommended to integrate the OSG graphics with a fully fledge UI toolkit, this has already been done by users for most of the leading UI toolkits, see the bazaar section on the http://www.openscenegraph.org/download for examples of SDL,QT,FLTK,MFX and WX viewers.

For the purpose of demonstating the functionality of the osg, ten demo apps are provided, sgv (a scene graph viewer), osgconv (a command line utility for converted multiple input files into a native .osg target file), hangglide (a flight simulation demo over small hang gliding site), osgcube (a very simple demo of an animated cube) and osgreflect (a demo of how planar reflections can be achieved), osgtexture (a demo of some of the various texture modes that the OSG supports), osgimpostor (a demo of impostors in action) and osgviews (a demo of using mulitple viewports on the same or multiple scenes). Finally there is the osgtext demo which illustrates the different types of font rendering support by the osgText library.

This release is a ALPHA version, and is under continuous development with the API and features subject to change. Although this disclaimer sounds severe you'll probably find the OSG pretty competitive feature and maturity wise, even with well established commericial scene graphs. If you plan to use the OSG then please join the mailing list and provide us with feedback on how you're getting on or the problems that you come across. This helps keep the OSG development going in the right direction and ensures the problems are fixed as early on in the development as possible.

For instructions of how to compile, install the osg libraries and to run the demos please read the INSTALL file.

Robert Osfield.

robert@openscenegraph.com.
Feburaru 2002.


Contacts

The OSG's web site is http://www.openscenegraph.org/

The OSG's mailing list and mirror of downloads can be accessed at
source forge -  http://sourceforge.net/projects/openscenegraph

Bugs, patches, queries can be sent to the robert@openscenegraph.com or to the mailing list.

Patches are best sent as complete files, as tarball if numerous file changes have been made.


Contents of distribution

./        Root directory.
README     text bare bones readme file.
INSTALL    text file containing guide of how to get the OSG compiling, and running the demos.
COPYING    text  file containing the details of the OSG's Open Source LGPL license.
AUTHORS    text file containing names of contributors to the osg.
NEWS       text file listing coarse grained changes between releases.
ChangeLog  text file listing fine grained changes between releases.
TODO       text file listing  left to implement/extend/rewrite.
FAQ         text file listing Frequently asked questions.
Makefile   Unix makefile.
index.html This file!


doc/   Documentation directory

index.html       Documentation index
osg/             Scene graph reference guide.
osgUtil/         Scene graph utilities reference guide.
osgDB/           Scene graph database utilities reference guide.
osgText/         Scene graph text reference guide.
osgGLUT/         Simple GLUT based viewer base classes reference guide.

include/     External includes (i.e. files which would be installed in /usr/include)

include/osg/       The OSG library header files.
include/osgUtil/  The OSG Util library header files.
include/osgDB/    The OSG Database library header files.
include/osgText/  The OSG text library header files.
include/osgGLUT/  The OSG GLUT utiltiy library header files.

src/    source files (including internal includes)

src/osg       The OSG library source files.
              Contains all core osg classes, including reader/writer support for
              the .osg ascii format, and sgi's rgb image format.

src/osgUtil  The OSG utility library source files.
              Contains useful utility classes such as for setting
              up and rendering/draw.

src/osgDB    The OSG database utility library source files.
              Contains useful utility classes such as for reading
              and writing 3D databases and image files.

src/osgText  The OSG text library source files.
              Contains true type font rendering classes.

src/osgGLUT  The OSG GLUT library source files.
              Contains basic GLUT viewer base classes used by
              demo programs to bring up window and provide keyboard
              and mouse interaction.

src/osgPlugins/     Import/Export/Node kit plug-ins to the OSG.
           osg/     .osg native ASCII reader/write plugin.
           flt/     .flt Open Flight reader plugin.
           lib3ds/  .3ds Auto Studio Maxx reader plugin.
           lwo/     .lwo Light Wave binary (.lwo,.lw & .geo) reader plugin.
           obj/     .obj Alias Wavefront reader plugin.
           pfb/     .pfb (and others) Performer reader and writer plugin.
           dw/      .dw Design Workshop reader plugin.
           rgb/     .rgb RGB image file format reader plugin.
           png/     .png PNG image file format reader plugin.
           gif/     .gif GIF image file format reader plugin.
           jpeg/    .jpg JPEG image file format reader plugin.
           pic/     .pic PIC image file format reader plugin.
           tga/     .tga TGA image file format reader plugin.
           tiff/    .tif TIFF image file format reader plugin.

src/Demos/ sgv/           A basic scene graph viewer for the OSG which is loads .osg files and above formats.
           osgconv/       A program which reads input files into a single scene graph and outputs the results.
           hangglide/     A program which of creates a flying site and allows users to fly over the scene.
           osgtexture/    A simple program which demonstrates how to use various textures modes.
           osgcube/       A basic animation of an oscillating cube.
           osgreflect/    A demonstration of multi-pass stencil buffer based planar reflections.
           osgimpostor/   A basic demo to show how to use the osg::Impostor node.
           osgviews/      A demo of multiple views of the same or multiple scenes.
           wxsgv/         A demo of wxWindows viewer integrated with the OSG.
           wxsgv/         A demo of true type fonts support provided by osgText.


lib/             The local repository for the OSG library and plugins (files to be installed in /usr/lib/ or /usr/local/lib)

lib/osgPlugins/  The local repository for the OSG plugins (files to be installed in /usr/lib/osgPlugins or /usr/local/lib/osgPlugins)

bin/             The local repository for the OSG binary files (files to be installed in /usr/bin or /usr/local/bin)

Make/            Unix platform specific make rules and dependencies.

VisualStudio/    MS VisualC++ 6.0 Make/Workspace files for Windows.

Metrowerks/      CodeWarroir's Make/Workspace files for Mac.

dist/            Distribution make files for RedHat Linux and IRIX.
.


Scene graph dependencies

Currently the only dependancy of the core scene graph libraries (osg,osgUtil and osgDB) is Standard C++ and OpenGL. The osgText library, osgGLUT have the following dependancies, these arn't core libraries so arn't needed to be compiled unless you need that feature. The demos do however require osgGLUT so its likely that you will typically need it when trying out the osg. The osgtext demo adds an osgText dependancies as well, you only need to compile them if you need to a demo of those features.


Plug-in dependencies

Follows is the list of depedencies which some of the osgPlugins require, note the core osg and viewer do not need the following dependencies, you only need the following if you require each specific plugin.  Note, the flt, 3ds, pic, tga, do not have any dependencies other than Standard C++ so will compile straight of the bag.  Under Linux the majority of the depedancies below come as standard
with distributions so you may not need to download them at all.  Its best to try out a straight compile of the osg, if you get missing includes/libs errors then chase up the below.



Data Sources