diff --git a/doc/contents.html b/doc/contents.html new file mode 100644 index 000000000..5f35b8fdc --- /dev/null +++ b/doc/contents.html @@ -0,0 +1,166 @@ + + + + + + OSG Distribution + + + +
Installation    Contents +of Distribution    Documentation   Plugin +Dependencies   Data Sources   +Contacts + +

+Contents of distribution

+./        Root directory. +
README     text +bare bones readme file. +
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. +
           osgtext/       +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. +

dist/            +Distribution make files for RedHat Linux and IRIX. + + + diff --git a/doc/demos.html b/doc/demos.html new file mode 100644 index 000000000..4ce3360f2 --- /dev/null +++ b/doc/demos.html @@ -0,0 +1,103 @@ + + + + + + OSG Distribution + + + + +

+Running the demos

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
sgv cow.osgThe scene graph viewer demo uses osgGLUT::Viewer to bring up a basic viewer. To find out what + command line arguments it takes simply run sgv without any arguments. To load a model simple + run sgv filename.ext. The osgGLUT::Viewer provides an extensive set of operations that can be + used to display information about the loaded database such as peformance stas, through to + output a snapshot of the screen, which is how these thumbnails were created. For a full list + of key presses and mouse interaction read the sgv documentaion.
sgv -stereo cessna.osgThe scene graph viewer also supports anaglyphic, quad buffered, and split screen stereo modes, + for a full list of options and environmental variables see the sgv documentaion.
hangglideThe hang glide demo creates a simple flying site (Don Burns local hang glide site infact!), + demonstrating how to create simple terrain, trees and skydomes, and how to implement a simple + flight camera manipulator to allow the user to fly around. + .
osgbillboard lz.rgb + .
osgcube + .
osghud glider.osg + .
osgimpostor Town.osg + .
osgreflect cow.osg + .
osgscribe.cow.osg + .
osgstereoimage left.rgb right.rgb + .
osgtext + .
osgtexture lz.rgb reflect.rgb + .
osgviews.cow.osg + .
+ + + \ No newline at end of file diff --git a/doc/documentation.html b/doc/documentation.html new file mode 100644 index 000000000..f2d7d4a2c --- /dev/null +++ b/doc/documentation.html @@ -0,0 +1,46 @@ + + + + + + OSG Documentation + + + + + +

+Documentation

+The documentation on the OSG is still in its early stages, and far from +complete. If you can't find your answers in what documentation there currently +is, please feel free to post the question on the OSG mailing list. +

Introduction, distribution contents and contacts +

User documention +

sgv                +Documentation on key binding in sgv (Scene Graph Viewer.)

+
stereo            +Details on how to run osg applications in stereo.

+

Reference guides (automatically generated using doc++) +

osg/              +core 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.
+

Doxygen-generated tarballs are available for download from the website

+

UML Diagrams +

osg                +UML diagram of the osg core library +
osgUtil           +UML diagram of the osg utilities library

+

Mind Maps +

Design +Pattern used in the OSG. +
Mission Statement for OSG.

+ + + diff --git a/doc/images/hangglide.jpg b/doc/images/hangglide.jpg new file mode 100644 index 000000000..13b48d507 Binary files /dev/null and b/doc/images/hangglide.jpg differ diff --git a/doc/images/osgbillboard.jpg b/doc/images/osgbillboard.jpg new file mode 100644 index 000000000..ad1a2fe7f Binary files /dev/null and b/doc/images/osgbillboard.jpg differ diff --git a/doc/images/osgcube.jpg b/doc/images/osgcube.jpg new file mode 100644 index 000000000..5779067a1 Binary files /dev/null and b/doc/images/osgcube.jpg differ diff --git a/doc/images/osghud.jpg b/doc/images/osghud.jpg new file mode 100644 index 000000000..153408e59 Binary files /dev/null and b/doc/images/osghud.jpg differ diff --git a/doc/images/osgimpostor.jpg b/doc/images/osgimpostor.jpg new file mode 100644 index 000000000..339036686 Binary files /dev/null and b/doc/images/osgimpostor.jpg differ diff --git a/doc/images/osgreflect.jpg b/doc/images/osgreflect.jpg new file mode 100644 index 000000000..c96dfdff6 Binary files /dev/null and b/doc/images/osgreflect.jpg differ diff --git a/doc/images/osgscribe.jpg b/doc/images/osgscribe.jpg new file mode 100644 index 000000000..3ef27677a Binary files /dev/null and b/doc/images/osgscribe.jpg differ diff --git a/doc/images/osgstereoimage.jpg b/doc/images/osgstereoimage.jpg new file mode 100644 index 000000000..5e2ad5d1b Binary files /dev/null and b/doc/images/osgstereoimage.jpg differ diff --git a/doc/images/osgtext.jpg b/doc/images/osgtext.jpg new file mode 100644 index 000000000..4e550e6de Binary files /dev/null and b/doc/images/osgtext.jpg differ diff --git a/doc/images/osgtexture.jpg b/doc/images/osgtexture.jpg new file mode 100644 index 000000000..400e670b7 Binary files /dev/null and b/doc/images/osgtexture.jpg differ diff --git a/doc/images/osgviews.jpg b/doc/images/osgviews.jpg new file mode 100644 index 000000000..7d83b3a9b Binary files /dev/null and b/doc/images/osgviews.jpg differ diff --git a/doc/images/sgv_cow.jpg b/doc/images/sgv_cow.jpg new file mode 100644 index 000000000..26426f79b Binary files /dev/null and b/doc/images/sgv_cow.jpg differ diff --git a/doc/images/sgv_stereo.jpg b/doc/images/sgv_stereo.jpg new file mode 100644 index 000000000..fbfe96069 Binary files /dev/null and b/doc/images/sgv_stereo.jpg differ diff --git a/doc/introduction.html b/doc/introduction.html index 47a21385e..00cacbaba 100644 --- a/doc/introduction.html +++ b/doc/introduction.html @@ -147,7 +147,7 @@ and bring in user data with a very small amount of code. platform speciific dependancy, requiring little more than Standard C++ and OpenGL. The has allowed the scene graph to be rapidly ported on wide range of platforms - originally developed on IRIX, then ported to Linux, then to Windows, then FreeBSD, then Mac OSX -and most recently Solaris! Being completely windowing system independant it easy +and most recently Solaris! Being completely windowing system independant makes it easy for users to add their own window specific libraries and applications on top. In the distribution there is aleady the osgGLUT library, and in the Bazaar found at openscenegrph.org/download/ once can find examples of how applications written @@ -160,7 +160,7 @@ ontop Qt, MFC, WxWindows and SDL. Users have also integrated it with Motif, and

Scalability - the scene graph not only runs from portables all the way up to Onyx Infinite Reality Monsters, it supports the multiple graphics subsystems -found on the machines like the a mulitpipe Onyx. This is possible since the core scene +found on machines like the a mulitpipe Onyx. This is possible since the core scene graph supports multiple graphics context for both OpenGL DisplayLists and texture objects, and the cull and draw traversals have been designed to cache rendering data locally and use the scene gaph almost entirely as a read only operation. This allows multiple @@ -197,6 +197,42 @@ scene graphs. Numerous companies, university researchers and graphics enthusasts already adopted their projects, and are from all over the world.

+
+ +

Getting started

+ +

+The first thing is to select the distribution which suits you, there are binary, development and +source code distributions, these can be loaded from the +http://www.openscenegraph.org/download page. +The latest developments area available as via a nightly tarball or via cvs. +

+ +

+The binary distribution contains just the libraries (.dll's /.so's) and demo executables. +This is suitable for using the OpenSceneGraph with an application that has already been compiled +but depends at runtime on the OpenSceneGraph. +

+ +

+The development distribution contains the libraries (.dll's /.so's), demo executabls, include files, and source to +the demos. This is suitable for using the developers using the OpenSceneGraph. +

+ +

+The source distribution contains the all the source and include files required to build the OpenSceneGraph from +sratch, and is ideal if you want to learn more about how the scene gaph works, how to extend it, and to track +down and fix any problems that you come across. +

+ +

+If you are using a source disitribution then read the installation instructions +for how to get the OpenSceneGraph compiling and installed on your system. You may also need to download +libraries that parts of the OpenSceneGraph is dependant upon such as glut, check the +dependencies list for futher details. +

+ +

How to learn to use the OpenSceneGraph

@@ -205,24 +241,38 @@ already adopted their projects, and are from all over the world. The OpenSceneGraph distribution comes with a reference guide for each of the componet libraries - osg, osgDB, osgUtil, osgText and osgGLUT, a set of demos - the source of which can be found in src/Demos/.For questions or help which can't be easily be answered by the reference guide and demo source, one should join the openscene -gaph mailing list. A programming guide will be avaialbe in form of a OpenSceneGraph book which is being +gaph mailing list (details below).There is also the beginings of Wiki based FAQ +which may help answer a few of the common querries. + + +

A programming guide will be avaialbe in form of a OpenSceneGraph book which is being written by Don Burns and Robert Osfield, parts of it will be available.online.

Although not directly releated to the OpenSceneGraph, once can learn about scene graph technolgy from -such sources as the Open Inventor Mentor, and Performer Programming Guides. The later is the closest -in design/API structure to the OpenSceneGraph.

+such sources as the Open Inventor Mentor, and Performer Programming Guides. +The later is the closest in design concepts to the OpenSceneGraph, although Performer manuals is in C alas. +

+

+The OpenSceneGraph uses OpenGL and does with a deliberately thin layer, making it easy to control the underlying +OpenGL and to extend it with OpenGL extensions. The close tie with OpenGL is also reflected in the nameing +of many of the OpenGL state related classes, the the parameters that they encapsulate and means that knowledge +of OpenGL itself will go a long way to understanding how to get the best out of the OpenSceneGraph. To this +end it is worth obtaining a copy of the OpenGL programming guide - `Red Book` +and OpenGL reference guide 'Blue Book'. The main OpenGL website is also a good source of links and further information. +


-

Support and discussion - the OpenSceneGraph-news mailing list

+

Support and discussion - the openscenegraph-news mailing list

For scene graph related questions, bug reports, bug fixes, and general design and development discussion one should -join the OpenSceneGraph-news mailing list. +join the openscenegraph-news mailing list, +and check the the mailing list archives.

Professional support is also available in the form of confidential online, phone and onsite support and -consultancy, for details contact robert@openscengraph.com.

+consultancy, for details contact Robert Osfield at robert@openscenegraph.com.

\ No newline at end of file