Ran the spell checker through the new documentation.
This commit is contained in:
parent
23f048884b
commit
b5bd42674b
@ -37,10 +37,6 @@ containing names of contributors to the osg.
|
||||
file listing coarse grained changes between releases.
|
||||
<br><tt><a href="../ChangeLog">ChangeLog</a> </tt>text file listing
|
||||
fine grained changes between releases.
|
||||
<br><tt><a href="../TODO">TODO</a> </tt>text
|
||||
file listing left to implement/extend/rewrite.
|
||||
<br><tt><a href="../FAQ">FAQ</a>
|
||||
</tt>text file listing Frequently asked questions.
|
||||
<br><tt><a href="../Makefile">Makefile</a> </tt>Unix makefile.
|
||||
<br><tt>index.html </tt>This file!</blockquote>
|
||||
|
||||
|
324
doc/demos.html
324
doc/demos.html
@ -2,162 +2,208 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="GENERATOR" content="Mozilla/4.6 [en-gb]C-CCK-MCD NetscapeOnline.co.uk (Win95; I) [Netscape]">
|
||||
<meta name="GENERATOR" content="Mozilla/4.77 [en] (X11; U; Linux 2.4.3-20mdk i686) [Netscape]">
|
||||
<title>Demos</title>
|
||||
</head>
|
||||
<body text="#000000" bgcolor="#FFFFFF" link="#0000FF" vlink="#990066" alink="#FF0000">
|
||||
<img SRC="images/OpenSceneGraphBanner_Distribution.jpg" height=77 width=640>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td><a href="index.html">Index</a> </td>
|
||||
<td><a href="introduction.html">Introduction</a> </td>
|
||||
<td><a href="contents.html">Contents</a> </td>
|
||||
<td><a href="install.html">Install</a> </td>
|
||||
<td><a href="dependencies.html">Dependencies</a> </td>
|
||||
<td><a href="demos.html">Demos</a> </td>
|
||||
<td><a href="data.html">Data</a> </td>
|
||||
<td><a href="sgv.html">Viewer</a> </td>
|
||||
<td><a href="stereo.html">Stereo</a> </td>
|
||||
<td><a href="plan.html">Plan</a> </td>
|
||||
<td><a href="documentation.html">Reference Guides</a> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="index.html">Index</a></td>
|
||||
|
||||
<td><a href="introduction.html">Introduction</a></td>
|
||||
|
||||
<td><a href="contents.html">Contents</a></td>
|
||||
|
||||
<td><a href="install.html">Install</a></td>
|
||||
|
||||
<td><a href="dependencies.html">Dependencies</a></td>
|
||||
|
||||
<td><a href="demos.html">Demos</a></td>
|
||||
|
||||
<td><a href="data.html">Data</a></td>
|
||||
|
||||
<td><a href="sgv.html">Viewer</a></td>
|
||||
|
||||
<td><a href="stereo.html">Stereo</a></td>
|
||||
|
||||
<td><a href="plan.html">Plan</a></td>
|
||||
|
||||
<td><a href="documentation.html">Reference Guides</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h2>
|
||||
<a NAME="Running the demos"></a><u>Running the demos</u></h2>
|
||||
<p>
|
||||
Once the OpenSceneGraph is <a href="install.html">installed</a> you will need place the location where it was installed on the you systems paths
|
||||
environmental variables, and then download the <a href="data.html">demo data</a> and set the <b>OSG_FILE_PATH</b> so that the file loading can locate the datasets.
|
||||
It is probably worth setting you autoexec.bat, .bashrc or.tcsh etc to pick up on these settings so that next time you log in
|
||||
everything is in easy reach.
|
||||
</p>
|
||||
<li>Windows:</li>
|
||||
<ul>
|
||||
<b>set PATH = C:/all/the/exisitng/paths;C:/OpenSceneGraph/bin</b>
|
||||
<br><b>set OSG_FILE_PATH = C:/OpenSceneGraph-Data;C:/OpenSceneGraph-Data/Images;C:/OpenSceneGraph-Data/Fonts</b>
|
||||
</ul>
|
||||
Once the OpenSceneGraph is <a href="install.html">installed</a> you will
|
||||
need place the location where it was installed on the you systems paths
|
||||
environmental variables, and then download the <a href="data.html">demo
|
||||
data</a> and set the <b>OSG_FILE_PATH</b> so that the file loading can
|
||||
locate the datasets. It is probably worth setting you autoexec.bat, .bashrc
|
||||
or.tcsh etc to pick up on these settings so that next time you log in everything
|
||||
is in easy reach.
|
||||
<li>
|
||||
Windows:</li>
|
||||
|
||||
</p>
|
||||
<li>Unix</li>
|
||||
<ul>
|
||||
<b>export PATH = ${PATH}:/home/myaccount/OpenSceneGraph/bin</b>
|
||||
<ul><b>set PATH = C:/all/the/exisitng/paths;C:/OpenSceneGraph/bin</b>
|
||||
<br><b>set OSG_FILE_PATH = C:/OpenSceneGraph-Data;C:/OpenSceneGraph-Data/Images;C:/OpenSceneGraph-Data/Fonts</b></ul>
|
||||
|
||||
<li>
|
||||
Unix</li>
|
||||
|
||||
<ul><b>export PATH = ${PATH}:/home/myaccount/OpenSceneGraph/bin</b>
|
||||
<br><b>export LD_LIBRARY_PATH = ${LD_LIBRARY_PATH}:/home/myaccount/OpenSceneGraph/lib</b>
|
||||
<br><b>export OSG_FILE_PATH = /home/myaccount/OpenSceneGraph-Data:C:/OpenSceneGraph-Data/Images:C:/OpenSceneGraph-Data/Fonts</b>
|
||||
<br>or
|
||||
<br><b>setenv PATH ${PATH}:/home/myaccount/OpenSceneGraph/bin</b>
|
||||
<br><b>setenv LD_LIBRARY_PATH = ${LD_LIBRARY_PATH}:/home/myaccount/OpenSceneGraph/lib</b>
|
||||
<br><b>setenv OSG_FILE_PATH /home/myaccount/OpenSceneGraph-Data:C:/OpenSceneGraph-Data/Images:C:/OpenSceneGraph-Data/Fonts</b>
|
||||
</ul>
|
||||
|
||||
<p>
|
||||
All the demos run on the commandline, most requiring parameters, such as what file to load, if you are in any doubt
|
||||
just run the application and it will either run, or provide help on what options it accepts.
|
||||
</p>
|
||||
|
||||
<br><b>setenv OSG_FILE_PATH /home/myaccount/OpenSceneGraph-Data:C:/OpenSceneGraph-Data/Images:C:/OpenSceneGraph-Data/Fonts</b></ul>
|
||||
All the demos run on the commandline, most requiring parameters, such as
|
||||
what file to load, if you are in any doubt just run the application and
|
||||
it will either run, or provide help on what options it accepts.
|
||||
<br>
|
||||
<table>
|
||||
<tr>
|
||||
<td><a href="sgv.html"><img src="images/sgv_cow.jpg" width=128 height=100 border=0></a> </td>
|
||||
<td><b>sgv cow.osg</b></td>
|
||||
<td>The 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 <a href="sgv.html">sgv</a> documentaion.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="stereo.html"><img src="images/sgv_stereo.jpg" width=128 height=100 border=0></a> </td>
|
||||
<td><b>sgv -stereo cessna.osg</b></td>
|
||||
<td>The scene graph viewer also supports anaglyphic, quad buffered, and split screen stereo modes,
|
||||
for a full list of options and environmental variables see the <a href="stereo.html">stereo</a> documentaion.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="images/hangglide.jpg" width=128 height=100 border=0> </td>
|
||||
<td><b>hangglide</b></td>
|
||||
<td>The 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.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="images/osgbillboard.jpg" width=128 height=100 border=0> </td>
|
||||
<td><b>osgbillboard lz.rgb</b></td>
|
||||
<td>Demonstrates how to create the various types of billboard supported by the OpenSceneGraph. Billboards
|
||||
are typically used for trees or particles effects.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="images/osgcube.jpg" width=128 height=100 border=0> </td>
|
||||
<td><b>osgcube</b></td>
|
||||
<td>Simplest of all demos, create a cube geometry and spin it!
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="images/osghud.jpg" width=128 height=100 border=0> </td>
|
||||
<td><b>osghud glider.osg</b></td>
|
||||
<td>Very similar to the basic sgv demo, but adds an othographic projection over the top of the main 3D view
|
||||
to create a head up display effect. Also demonstrates how to use osgText.
|
||||
.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="sgv.html"><img SRC="images/sgv_cow.jpg" BORDER=0 height=100 width=128></a></td>
|
||||
|
||||
<tr>
|
||||
<td><img src="images/osgimpostor.jpg" width=128 height=100 border=0> </td>
|
||||
<td><b>osgimpostor Town.osg</b></td>
|
||||
<td>OpenSceneGraph is unique amoung scene graph in the fact that it supports dynamically updated impostors natively,
|
||||
and this demo uses osgUtil::InsertImpostorVisitor to traverse the loaded scene graph inserting osg::Importor nodes in place of groups
|
||||
and LOD, so you can add Impostor into any of your own datasets! The scene graph then
|
||||
takes over full repsonsibility for managing required multistage rendering all dynamically at runtime, whilest
|
||||
keeping it neatly encapsulated making it incrediable easy to use. The Impostor support demonstrates how
|
||||
powerful the multi-stage multi-pass rendering framework that the OpenSceneGraph has, almost all other scene
|
||||
graphs have to hardwire such effects into them and require significant application coding to do so.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="images/osgreflect.jpg" width=128 height=100 border=0> </td>
|
||||
<td><b>osgreflect cow.osg</b></td>
|
||||
<td>An example of how to set up planar reflections using the standard multi-pass stencil buffer algorithm. This
|
||||
is all handled within the scene graph, so there is no need to hardwire multi-pass effects into your own
|
||||
application.
|
||||
.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="images/osgscribe.jpg" width=128 height=100 border=0> </td>
|
||||
<td><b>osgscribe.cow.osg</b></td>
|
||||
<td>An example of how to decorate your scene graph geometry for useful effects such as scribing. This demo
|
||||
uses two instances of your model, the first one uses the state values set in your scene graph, the
|
||||
second instance override the polygmode to render it as wireframe, and with a polyon offset to ensure it
|
||||
is seen from all angles. These two instance are grouped together and then are treated like any other
|
||||
scene graph.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="images/osgstereoimage.jpg" width=128 height=100 border=0> </td>
|
||||
<td><b>osgstereoimage left.rgb right.rgb</b></td>
|
||||
<td>An example of use node maks to select different parts of the scene graph for different traversals, in this
|
||||
case two seperate images are drawn for the left and right eyes to generate a stereo 3D image from two flat
|
||||
images!
|
||||
.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="images/osgtext.jpg" width=128 height=100 border=0> </td>
|
||||
<td><b>osgtext</b></td>
|
||||
<td>An example showing how to creating the various different typs of text that the osgText library supports.
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="images/osgtexture.jpg" width=128 height=100 border=0> </td>
|
||||
<td><b>osgtexture lz.rgb reflect.rgb</b></td>
|
||||
<td>An example showing how to creating the textured quads, each with different texture parameters, including
|
||||
anistrophic filtering and texture compression!
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><img src="images/osgviews.jpg" width=128 height=100 border=0> </td>
|
||||
<td><b>osgviews.cow.osg</b></td>
|
||||
<td>An example of multiple viewports all running at once.
|
||||
</td>
|
||||
</tr>
|
||||
<td><b>sgv cow.osg</b></td>
|
||||
|
||||
<td>The 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 performance stats,
|
||||
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 <a href="sgv.html">sgv</a> documentation.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a href="stereo.html"><img SRC="images/sgv_stereo.jpg" BORDER=0 height=100 width=128></a></td>
|
||||
|
||||
<td><b>sgv -stereo cessna.osg</b></td>
|
||||
|
||||
<td>The scene graph viewer also supports anaglyphic, quad buffered, and
|
||||
split screen stereo modes, for a full list of options and environmental
|
||||
variables see the <a href="stereo.html">stereo</a> documentation.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><img SRC="images/hangglide.jpg" BORDER=0 height=100 width=128></td>
|
||||
|
||||
<td><b>hangglide</b></td>
|
||||
|
||||
<td>The hang glide demo creates a simple flying site (Don Burns local hang
|
||||
glide site in fact!), 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. </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><img SRC="images/osgbillboard.jpg" BORDER=0 height=100 width=128></td>
|
||||
|
||||
<td><b>osgbillboard lz.rgb</b></td>
|
||||
|
||||
<td>Demonstrates how to create the various types of billboard supported
|
||||
by the OpenSceneGraph. Billboards are typically used for trees or particles
|
||||
effects. </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><img SRC="images/osgcube.jpg" BORDER=0 height=100 width=128></td>
|
||||
|
||||
<td><b>osgcube</b></td>
|
||||
|
||||
<td>Simplest of all demos, create a cube geometry and spin it! </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><img SRC="images/osghud.jpg" BORDER=0 height=100 width=128></td>
|
||||
|
||||
<td><b>osghud glider.osg</b></td>
|
||||
|
||||
<td>Very similar to the basic sgv demo, but adds an orthographic projection
|
||||
over the top of the main 3D view to create a head up display effect. Also
|
||||
demonstrates how to use osgText. .</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><img SRC="images/osgimpostor.jpg" BORDER=0 height=100 width=128></td>
|
||||
|
||||
<td><b>osgimpostor Town.osg</b></td>
|
||||
|
||||
<td>OpenSceneGraph is unique among scene graph in the fact that it supports
|
||||
dynamically updated impostors natively, and this demo uses osgUtil::InsertImpostorVisitor
|
||||
to traverse the loaded scene graph inserting osg::Importor nodes in place
|
||||
of groups and LOD, so you can add Impostor into any of your own datasets!
|
||||
The scene graph then takes over full responsibility for managing required
|
||||
multistage rendering all dynamically at runtime, whilst keeping it neatly
|
||||
encapsulated making it incredible easy to use. The Impostor support demonstrates
|
||||
how powerful the multi-stage multi-pass rendering framework that the OpenSceneGraph
|
||||
has, almost all other scene graphs have to hardwire such effects into them
|
||||
and require significant application coding to do so. </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><img SRC="images/osgreflect.jpg" BORDER=0 height=100 width=128></td>
|
||||
|
||||
<td><b>osgreflect cow.osg</b></td>
|
||||
|
||||
<td>An example of how to set up planar reflections using the standard multi-pass
|
||||
stencil buffer algorithm. This is all handled within the scene graph, so
|
||||
there is no need to hardwire multi-pass effects into your own application.
|
||||
.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><img SRC="images/osgscribe.jpg" BORDER=0 height=100 width=128></td>
|
||||
|
||||
<td><b>osgscribe.cow.osg</b></td>
|
||||
|
||||
<td>An example of how to decorate your scene graph geometry for useful
|
||||
effects such as scribing. This demo uses two instances of your model, the
|
||||
first one uses the state values set in your scene graph, the second instance
|
||||
override the polygmode to render it as wireframe, and with a polygon offset
|
||||
to ensure it is seen from all angles. These two instance are grouped together
|
||||
and then are treated like any other scene graph. </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><img SRC="images/osgstereoimage.jpg" BORDER=0 height=100 width=128></td>
|
||||
|
||||
<td><b>osgstereoimage left.rgb right.rgb</b></td>
|
||||
|
||||
<td>An example of use node maks to select different parts of the scene
|
||||
graph for different traversals, in this case two separate images are drawn
|
||||
for the left and right eyes to generate a stereo 3D image from two flat
|
||||
images! .</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><img SRC="images/osgtext.jpg" BORDER=0 height=100 width=128></td>
|
||||
|
||||
<td><b>osgtext</b></td>
|
||||
|
||||
<td>An example showing how to creating the various different typs of text
|
||||
that the osgText library supports. </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><img SRC="images/osgtexture.jpg" BORDER=0 height=100 width=128></td>
|
||||
|
||||
<td><b>osgtexture lz.rgb reflect.rgb</b></td>
|
||||
|
||||
<td>An example showing how to creating the textured quads, each with different
|
||||
texture parameters, including anisotrophic filtering and texture compression! </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><img SRC="images/osgviews.jpg" BORDER=0 height=100 width=128></td>
|
||||
|
||||
<td><b>osgviews.cow.osg</b></td>
|
||||
|
||||
<td>An example of multiple viewports all running at once. </td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</body>
|
||||
|
@ -2,157 +2,171 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="GENERATOR" content="Mozilla/4.6 [en-gb]C-CCK-MCD NetscapeOnline.co.uk (Win95; I) [Netscape]">
|
||||
<meta name="GENERATOR" content="Mozilla/4.77 [en] (X11; U; Linux 2.4.3-20mdk i686) [Netscape]">
|
||||
<title>Compilation dependencies</title>
|
||||
</head>
|
||||
<body text="#000000" bgcolor="#FFFFFF" link="#0000FF" vlink="#990066" alink="#FF0000">
|
||||
<img SRC="images/OpenSceneGraphBanner_Distribution.jpg" height=77 width=640>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td><a href="index.html">Index</a> </td>
|
||||
<td><a href="introduction.html">Introduction</a> </td>
|
||||
<td><a href="contents.html">Contents</a> </td>
|
||||
<td><a href="install.html">Install</a> </td>
|
||||
<td><a href="dependencies.html">Dependencies</a> </td>
|
||||
<td><a href="demos.html">Demos</a> </td>
|
||||
<td><a href="data.html">Data</a> </td>
|
||||
<td><a href="sgv.html">Viewer</a> </td>
|
||||
<td><a href="stereo.html">Stereo</a> </td>
|
||||
<td><a href="plan.html">Plan</a> </td>
|
||||
<td><a href="documentation.html">Reference Guides</a> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="index.html">Index</a></td>
|
||||
|
||||
<td><a href="introduction.html">Introduction</a></td>
|
||||
|
||||
<td><a href="contents.html">Contents</a></td>
|
||||
|
||||
<td><a href="install.html">Install</a></td>
|
||||
|
||||
<td><a href="dependencies.html">Dependencies</a></td>
|
||||
|
||||
<td><a href="demos.html">Demos</a></td>
|
||||
|
||||
<td><a href="data.html">Data</a></td>
|
||||
|
||||
<td><a href="sgv.html">Viewer</a></td>
|
||||
|
||||
<td><a href="stereo.html">Stereo</a></td>
|
||||
|
||||
<td><a href="plan.html">Plan</a></td>
|
||||
|
||||
<td><a href="documentation.html">Reference Guides</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h2>
|
||||
<a NAME="Scene graph dependencies"></a><u>Scene graph dependencies</u></h2>
|
||||
<p>The OpenSceneGraph is composed of core scene graph libraries, plugins libraries and demo programs. The core scene
|
||||
graph libraries (osg, osgDB, osgUtil) are only dependant upon OpenGL and Standard C++ so should compile straight out of
|
||||
the box on most systems. To run the demos one will also need to compile osgGLUT which adds the dependancy of GLUT, and
|
||||
if true type text is required then the freetype library will be required. The plugins which are used to read and write
|
||||
various file formats have their own sets of dependancies listed below, some have no dependancies at all. A plugin
|
||||
is only needed if you need to load that specific file format, so it is not critical if you don't have all the reqiured
|
||||
dependencies.
|
||||
</p>
|
||||
|
||||
The OpenSceneGraph is composed of core scene graph libraries, plugins libraries
|
||||
and demo programs. The core scene graph libraries (osg, osgDB, osgUtil)
|
||||
are only dependent upon OpenGL and Standard C++ so should compile straight
|
||||
out of the box on most systems. To run the demos one will also need to
|
||||
compile osgGLUT which adds the dependency of GLUT, and if true type text
|
||||
is required then the freetype library will be required. The plugins which
|
||||
are used to read and write various file formats have their own sets of
|
||||
dependencies listed below, some have no dependencies at all. A plugin is
|
||||
only needed if you need to load that specific file format, so it is not
|
||||
critical if you don't have all the required dependencies.
|
||||
<br>
|
||||
<hr>
|
||||
|
||||
<h3>
|
||||
<a NAME="Windows dependency arhives"></a><u>Windows dependency archives</u></h3>
|
||||
<p>To make life easier for Windows users, we have put together a .zip archives with all the required dependancies
|
||||
which can be download and installed somewhere in you system. You'll need to set VisualStudio to pick up on the
|
||||
include and libs, and the PATH set to pick up in the dll's. Alternatively, a more hacky but simpler solution is
|
||||
to unpack this archive inside you OpenSceneGraph distribution, so that all the include files drop into
|
||||
OpenSceneGraph/include, and the libs drop into OpenSceneGraph/lib, and all the dll's drop into OpenSceneGraph/bin,
|
||||
this way VisualStudio will pick up the files simpler through the paths set up inside the workspace and project
|
||||
files. The archives can be downloaded here: . .
|
||||
To make life easier for Windows users, we have put together a .zip archives
|
||||
with all the required dependencies which can be download and installed
|
||||
somewhere in you system. You'll need to set VisualStudio to pick up on
|
||||
the include and libs, and the PATH set to pick up in the dll's. Alternatively,
|
||||
a more hacky but simpler solution is to unpack this archive inside you
|
||||
OpenSceneGraph distribution, so that all the include files drop into OpenSceneGraph/include,
|
||||
and the libs drop into OpenSceneGraph/lib, and all the dll's drop into
|
||||
OpenSceneGraph/bin, this way VisualStudio will pick up the files simpler
|
||||
through the paths set up inside the workspace and project files. The archives
|
||||
can be downloaded here: . .
|
||||
<ul>
|
||||
<li>freetype, libpng, libungif, libtiff, libjpeg & zlib includes, libs and dll.</li>
|
||||
<ul><i><a href="http://www.openscenegraph.org/download/dependencies/OsgWin32Dependencies.zip">
|
||||
http://www.openscenegraph.org/download/dependencies/OsgWin32Dependencies.zip</a></i></ul>
|
||||
<br>
|
||||
<li>GLUT include, lib and dll.</li>
|
||||
<ul><i><a href="http://www.openscenegraph.org/download/dependencies/Win32Glut.zip">
|
||||
http://www.openscenegraph.org/download/dependencies/OsgWin32Glut.zip</a></i></ul>
|
||||
<li>
|
||||
freetype, libpng, libungif, libtiff, libjpeg & zlib includes, libs
|
||||
and dll.</li>
|
||||
|
||||
<ul><i><a href="http://www.openscenegraph.org/download/dependencies/OsgWin32Dependencies.zip">http://www.openscenegraph.org/download/dependencies/OsgWin32Dependencies.zip</a></i></ul>
|
||||
|
||||
<li>
|
||||
GLUT include, lib and dll.</li>
|
||||
|
||||
<ul><i><a href="http://www.openscenegraph.org/download/dependencies/OsgWin32Glut.zip">http://www.openscenegraph.org/download/dependencies/OsgWin32Glut.zip</a></i></ul>
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
<h3>
|
||||
<a NAME="Core library dependencies"></a><u>Core library dependencies</u></h3>
|
||||
<ul>
|
||||
<li>src/osgText - The osgText library supports true type fonts via the freetype library. </li>
|
||||
<ul><i><a href="http://www.freetype.org/">
|
||||
http://www.freetype.org/</a></i></ul>
|
||||
|
||||
<br><li>src/osgGLUT - The osgGLUT library depends upon, you guessed it, glut... </li>
|
||||
<ul><i><a href="http://www.opengl.org/developers/documentation/glut/index.html">
|
||||
http://www.opengl.org/developers/documentation/glut/index.html</a></i></ul></ul>
|
||||
<ul>
|
||||
<li>
|
||||
src/osgText - The osgText library supports true type fonts via the freetype
|
||||
library.</li>
|
||||
|
||||
<ul><i><a href="http://www.freetype.org/">http://www.freetype.org/</a></i></ul>
|
||||
|
||||
<li>
|
||||
src/osgGLUT - The osgGLUT library depends upon, you guessed it, glut...</li>
|
||||
|
||||
<ul><i><a href="http://www.opengl.org/developers/documentation/glut/index.html">http://www.opengl.org/developers/documentation/glut/index.html</a></i></ul>
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
<h3>
|
||||
<a NAME="Plug-in dependencies"></a><u>Plug-in dependencies</u></h3>
|
||||
<p>
|
||||
Follows is the list of depedencies which some of the osgPlugins require,
|
||||
Follows is the list of dependencies 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.
|
||||
</p>
|
||||
|
||||
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 dependencies
|
||||
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.
|
||||
<ul>
|
||||
<li>
|
||||
src/osgPlugins/pfb</li>
|
||||
|
||||
<br>There is a Performer plugin in this distribution for converting from
|
||||
Performer to OSG and from OSG to Performer. This plugin requires
|
||||
Performer to be installed and therefore is not compiled by default. If
|
||||
you have Performer (available under Linux and IRIX) then edit src/osgPlugins/Make
|
||||
to compile under the plugin. Performer can be downloaded from :
|
||||
<ul><i><a href="http://www.sgi.com/">http://www.sgi.com/</a></i>
|
||||
<i><a href="http://www.sgi.com/"></a></i></ul>
|
||||
Performer to OSG and from OSG to Performer. This plugin requires Performer
|
||||
to be installed and therefore is not compiled by default. If you have Performer
|
||||
(available under Linux and IRIX) then edit src/osgPlugins/Make to compile
|
||||
under the plugin. Performer can be downloaded from :
|
||||
<ul><i><a href="http://www.sgi.com/">http://www.sgi.com/</a></i></ul>
|
||||
|
||||
|
||||
<br><li>src/osgPlugins/png</li>
|
||||
<li>
|
||||
src/osgPlugins/png</li>
|
||||
|
||||
<br>The png plugin depends upon the libpng and zlib (for compression) libraries,
|
||||
if you don't already have it installed, you'll need to download, compile
|
||||
and install it. Project home pages are:
|
||||
<ul><i><a href="http://www.libpng.org/pub/png/libpng.html">http://www.libpng.org/pub/png/libpng.html</a></i>
|
||||
<br><i><a href="http://www.info-zip.org/pub/infozip/zlib/">http://www.info-zip.org/pub/infozip/zlib/</a></i>
|
||||
<i><a href="http://www.info-zip.org/pub/infozip/zlib/"></a></i></ul>
|
||||
<br><i><a href="http://www.info-zip.org/pub/infozip/zlib/">http://www.info-zip.org/pub/infozip/zlib/</a></i></ul>
|
||||
|
||||
<br><li>src/osgPlugins/gif</li>
|
||||
<li>
|
||||
src/osgPlugins/gif</li>
|
||||
|
||||
<br>The gif plugin depends upon the libungif library, if you don't already
|
||||
have it installed, you'll need to download, compile and install it. Project
|
||||
home page is:
|
||||
<ul><i><a href="http://prtr-13.ucsc.edu/~badger/software/libungif/">http://prtr-13.ucsc.edu/~badger/software/libungif/</a></i>
|
||||
<br><i><a href="http://prtr-13.ucsc.edu/~badger/software/libungif/"></a></i></ul>
|
||||
<ul><i><a href="http://prtr-13.ucsc.edu/~badger/software/libungif/">http://prtr-13.ucsc.edu/~badger/software/libungif/</a></i></ul>
|
||||
Ftp download at :
|
||||
<ul><i><a href="ftp://prtr-13.ucsc.edu/pub/libungif/">ftp://prtr-13.ucsc.edu/pub/libungif/</a></i>
|
||||
<i><a href="ftp://prtr-13.ucsc.edu/pub/libungif/"></a></i></ul>
|
||||
<ul><i><a href="ftp://prtr-13.ucsc.edu/pub/libungif/">ftp://prtr-13.ucsc.edu/pub/libungif/</a></i></ul>
|
||||
|
||||
<br><li>src/osgPlugins/jpeg</li>
|
||||
<li>
|
||||
src/osgPlugins/jpeg</li>
|
||||
|
||||
<br>The jpeg plugin depends upon the libjpeg library, if you don't already
|
||||
have it installed, you'll need to download, compile and install it. Project
|
||||
home page is:
|
||||
<ul><i><a href="http://www.ijg.org/">http://www.ijg.org/</a></i>
|
||||
<i><a href="http://www.ijg.org/"></a></i></ul>
|
||||
<ul><i><a href="http://www.ijg.org/">http://www.ijg.org/</a></i></ul>
|
||||
|
||||
<br><li>src/osgPlugins/tiff</li>
|
||||
<li>
|
||||
src/osgPlugins/tiff</li>
|
||||
|
||||
<br>The tiff plugin depends upon the libtiff library, if you don't already
|
||||
have it installed, you'll need to download, compile and install it. Project
|
||||
home page is:
|
||||
<ul><i><a href="http://www.libtiff.org">http://www.libtiff.org</a></i>
|
||||
<i><a href="http://www.libtiff.org"></a></i></ul>
|
||||
<ul><i><a href="http://www.libtiff.org">http://www.libtiff.org</a></i></ul>
|
||||
|
||||
<br><li>src/osgPlugins/zip</li>
|
||||
<li>
|
||||
src/osgPlugins/zip</li>
|
||||
|
||||
<br>The zip compressed archive plugin depends upon the unzip executable
|
||||
being available on your system. If it is not then you'll be able
|
||||
to find binaries at:
|
||||
<ul><i><a href="http://www.freesoftware.com/pub/infozip/">http://www.freesoftware.com/pub/infozip/</a></i>
|
||||
<i><a href="http://www.freesoftware.com/pub/infozip/"></a></i></ul>
|
||||
being available on your system. If it is not then you'll be able to find
|
||||
binaries at:
|
||||
<ul><i><a href="http://www.freesoftware.com/pub/infozip/">http://www.freesoftware.com/pub/infozip/</a></i></ul>
|
||||
|
||||
<br><li>src/osgPlugins/tgz</li>
|
||||
<li>
|
||||
src/osgPlugins/tgz</li>
|
||||
|
||||
<br>The tgz compressed archive plugin depends upon the unzip executable
|
||||
being available on your system. If it is not then you'll be able
|
||||
to find binaries at:
|
||||
being available on your system. If it is not then you'll be able to find
|
||||
binaries at:
|
||||
<ul><i><a href="http://www.gzip.org/">http://www.gzip.org/</a></i>
|
||||
<br><a href="ftp://prep.ai.mit.edu/pub/gnu/tar/">ftp://prep.ai.mit.edu/pub/gnu/tar/</a>
|
||||
<a href="ftp://prep.ai.mit.edu/pub/gnu/tar/"></a></ul>
|
||||
<br><a href="ftp://prep.ai.mit.edu/pub/gnu/tar/">ftp://prep.ai.mit.edu/pub/gnu/tar/</a></ul>
|
||||
|
||||
<br><li>src/osgPlugins/osgtgz</li>
|
||||
<li>
|
||||
src/osgPlugins/osgtgz</li>
|
||||
|
||||
<br>Has the same dependencies as the tgz plugin above.</ul>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
139
doc/index.html
139
doc/index.html
@ -1,84 +1,107 @@
|
||||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
||||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="GENERATOR" content="Mozilla/4.75C-SGI [en] (X11; I; IRIX64 6.5 IP27) [Netscape]">
|
||||
<meta name="GENERATOR" content="Mozilla/4.77 [en] (X11; U; Linux 2.4.3-20mdk i686) [Netscape]">
|
||||
<title>OSG Documentation</title>
|
||||
</head>
|
||||
<body text="#000000" bgcolor="#FFFFFF" link="#0000EE" vlink="#551A8B" alink="#FF0000">
|
||||
|
||||
<img SRC="images/OpenSceneGraphBanner_Distribution.jpg" height=77 width=640>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td><a href="index.html">Index</a> </td>
|
||||
<td><a href="introduction.html">Introduction</a> </td>
|
||||
<td><a href="contents.html">Contents</a> </td>
|
||||
<td><a href="install.html">Install</a> </td>
|
||||
<td><a href="dependencies.html">Dependencies</a> </td>
|
||||
<td><a href="demos.html">Demos</a> </td>
|
||||
<td><a href="data.html">Data</a> </td>
|
||||
<td><a href="sgv.html">Viewer</a> </td>
|
||||
<td><a href="stereo.html">Stereo</a> </td>
|
||||
<td><a href="plan.html">Plan</a> </td>
|
||||
<td><a href="documentation.html">Reference Guides</a> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="index.html">Index</a></td>
|
||||
|
||||
<td><a href="introduction.html">Introduction</a></td>
|
||||
|
||||
<td><a href="contents.html">Contents</a></td>
|
||||
|
||||
<td><a href="install.html">Install</a></td>
|
||||
|
||||
<td><a href="dependencies.html">Dependencies</a></td>
|
||||
|
||||
<td><a href="demos.html">Demos</a></td>
|
||||
|
||||
<td><a href="data.html">Data</a></td>
|
||||
|
||||
<td><a href="sgv.html">Viewer</a></td>
|
||||
|
||||
<td><a href="stereo.html">Stereo</a></td>
|
||||
|
||||
<td><a href="plan.html">Plan</a></td>
|
||||
|
||||
<td><a href="documentation.html">Reference Guides</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h2>
|
||||
<u>Index</u></b></h2>
|
||||
<u>Index</u></h2>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td><a href="introduction.html">Introduction</a> </td>
|
||||
<td>Introduction to Scene Graph in general, the OpenSceneGraph project itself and how to use it.</td>
|
||||
</td>
|
||||
<tr>
|
||||
<td><a href="introduction.html">Introduction</a></td>
|
||||
|
||||
<tr>
|
||||
<td><a href="contents.html">Contents</a> </td>
|
||||
<td>A list of the directories in the distribution.</td>
|
||||
</td>
|
||||
<td>Introduction to Scene Graph in general, the OpenSceneGraph project
|
||||
itself and how to use it.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a href="install.html">Install</a> </td>
|
||||
<td>A guide of how to compile and install on all the supported platforms.</td>
|
||||
</td>
|
||||
<tr>
|
||||
<td><a href="contents.html">Contents</a></td>
|
||||
|
||||
<tr>
|
||||
<td><a href="dependencies.html">Dependencies</a> </td>
|
||||
<td>Listing of all the dependancies of the project, with links of where to download them.</td>
|
||||
</td>
|
||||
<td>A list of the directories in the distribution.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a href="demos.html">Demos</a> </td>
|
||||
<td>Thumbnails and info on all the demo applications which come with this distribution.</td>
|
||||
</td>
|
||||
<tr>
|
||||
<td><a href="install.html">Install</a></td>
|
||||
|
||||
<tr>
|
||||
<td><a href="data.html">Data</a> </td>
|
||||
<td>List of websites where one can download interesting and useful data from.</td>
|
||||
</td>
|
||||
<td>A guide of how to compile and install on all the supported platforms.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a href="sgv.html">Viewer</a> </td>
|
||||
<td>List of key bindings support by the osgGLUT::Viewer and hence sgv and the rest of demos.</td>
|
||||
</td>
|
||||
<tr>
|
||||
<td><a href="dependencies.html">Dependencies</a></td>
|
||||
|
||||
<tr>
|
||||
<td><a href="stereo.html">Stereo</a> </td>
|
||||
<td>Documentation on the commandline paramters and environmential variables which control stereo.</td>
|
||||
</td>
|
||||
<td>Listing of all the dependencies of the project, with links of where
|
||||
to download them.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a href="plan.html">Plan</a> </td>
|
||||
<td>Details of development plans.</td>
|
||||
</td>
|
||||
<tr>
|
||||
<td><a href="demos.html">Demos</a></td>
|
||||
|
||||
<tr>
|
||||
<td><a href="documentation.html">Reference Guides</a> </td>
|
||||
<td>Reference guides of the core libraries.</td>
|
||||
</td>
|
||||
<td>Thumbnails and info on all the demo applications which come with this
|
||||
distribution.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a href="data.html">Data</a></td>
|
||||
|
||||
<td>List of websites where one can download interesting and useful data
|
||||
from.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a href="sgv.html">Viewer</a></td>
|
||||
|
||||
<td>List of key bindings support by the osgGLUT::Viewer and hence sgv and
|
||||
the rest of demos.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a href="stereo.html">Stereo</a></td>
|
||||
|
||||
<td>Documentation on the commandline parameters and environmental variables
|
||||
which control stereo.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a href="plan.html">Plan</a></td>
|
||||
|
||||
<td>Details of development plans.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a href="documentation.html">Reference Guides</a></td>
|
||||
|
||||
<td>Reference guides of the core libraries.</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</body>
|
||||
|
332
doc/install.html
332
doc/install.html
@ -2,54 +2,55 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="GENERATOR" content="Mozilla/4.6 [en-gb]C-CCK-MCD NetscapeOnline.co.uk (Win95; I) [Netscape]">
|
||||
<meta name="GENERATOR" content="Mozilla/4.77 [en] (X11; U; Linux 2.4.3-20mdk i686) [Netscape]">
|
||||
<title>Installation instructions</title>
|
||||
</head>
|
||||
<body text="#000000" bgcolor="#FFFFFF" link="#0000FF" vlink="#990066" alink="#FF0000">
|
||||
<img SRC="images/OpenSceneGraphBanner_Distribution.jpg" height=77 width=640>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td><a href="index.html">Index</a> </td>
|
||||
<td><a href="introduction.html">Introduction</a> </td>
|
||||
<td><a href="contents.html">Contents</a> </td>
|
||||
<td><a href="install.html">Install</a> </td>
|
||||
<td><a href="dependencies.html">Dependencies</a> </td>
|
||||
<td><a href="demos.html">Demos</a> </td>
|
||||
<td><a href="data.html">Data</a> </td>
|
||||
<td><a href="sgv.html">Viewer</a> </td>
|
||||
<td><a href="stereo.html">Stereo</a> </td>
|
||||
<td><a href="plan.html">Plan</a> </td>
|
||||
<td><a href="documentation.html">Reference Guides</a> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="index.html">Index</a></td>
|
||||
|
||||
<td><a href="introduction.html">Introduction</a></td>
|
||||
|
||||
<td><a href="contents.html">Contents</a></td>
|
||||
|
||||
<td><a href="install.html">Install</a></td>
|
||||
|
||||
<td><a href="dependencies.html">Dependencies</a></td>
|
||||
|
||||
<td><a href="demos.html">Demos</a></td>
|
||||
|
||||
<td><a href="data.html">Data</a></td>
|
||||
|
||||
<td><a href="sgv.html">Viewer</a></td>
|
||||
|
||||
<td><a href="stereo.html">Stereo</a></td>
|
||||
|
||||
<td><a href="plan.html">Plan</a></td>
|
||||
|
||||
<td><a href="documentation.html">Reference Guides</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h2><u>Compiling and installing the OpenSceneGraph</u></h2>
|
||||
|
||||
|
||||
<p>
|
||||
The scene graph depends upon Standard C++, STL and OpenGL so you need
|
||||
a C++ compiler up to the task and OpenGL or Mesa installed. The viewer
|
||||
depends upon GLUT which you'll need to download and install from the GLUT
|
||||
website. The OSG has it own native ascii file format, and .rgb image reader
|
||||
inbuilt which allows you read the example data with any dependencies other
|
||||
than C++, STL and OpenGL.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The osgText library adds the dependency of the freetype library
|
||||
for support of true type fonts, however it is not essential to the core
|
||||
library, so you can comment it out from compilation by modifying the src/Makefile,
|
||||
<h2>
|
||||
<u>Compiling and installing the OpenSceneGraph</u></h2>
|
||||
The scene graph depends upon Standard C++, STL and OpenGL so you need a
|
||||
C++ compiler up to the task and OpenGL or Mesa installed. The viewer depends
|
||||
upon GLUT which you'll need to download and install from the GLUT website.
|
||||
The OSG has it own native ascii file format, and .rgb image reader inbuilt
|
||||
which allows you read the example data with any dependencies other than
|
||||
C++, STL and OpenGL.
|
||||
<p>The osgText library adds the dependency of the freetype library for
|
||||
support of true type fonts, however it is not essential to the core library,
|
||||
so you can comment it out from compilation by modifying the src/Makefile,
|
||||
and src/Demos/Makefile. I you wish to use fonts then you can download freetype
|
||||
from www.freetype.org. The osgText library also requires an up to date
|
||||
GLU implementation which supports GLU1.2 tessellation routines. If you
|
||||
your current GLU is out of date you'll need to download the latest, for
|
||||
instance the sgi's sample implementation for GLU from the www.opengl.org
|
||||
website.
|
||||
</p>
|
||||
|
||||
<p>
|
||||
The OSG also has a set of plug-ins which support non-native 3d database
|
||||
<p>The OSG also has a set of plug-ins which support non-native 3d database
|
||||
and image formats, several have no dependencies on external libraries (flt,3ds,obj,
|
||||
lwo,dw, tga & pic), while others (pfb,jpeg,gif,tiff) require other
|
||||
libraries to be installed to compile them. If you don't already have them
|
||||
@ -60,146 +61,143 @@ only and if they are required to load a specific data set. If you don't
|
||||
need them for your datasets then it won't matter that you haven't been
|
||||
able to compile all the plug-ins. A full list of dependencies and where
|
||||
to download the required libraries are listed in the
|
||||
<i><a href="dependencies.html">
|
||||
dependencies.html</a></i>
|
||||
</p>
|
||||
|
||||
<p>
|
||||
If you're coming across the OSG for the first time and want to get started
|
||||
<i><a href="dependencies.html">dependencies.html</a></i>
|
||||
<p>If you're coming across the OSG for the first time and want to get started
|
||||
quickly, go right ahead and follow the compilation instructions. You can
|
||||
always later download the libraries which the plug-ins require if you eventually
|
||||
need them.
|
||||
</p>
|
||||
|
||||
<ul>
|
||||
<li><a href="#Compiling under Windows with Visual Studio">Compiling under Windows with Visual Studio</a></li>
|
||||
<br>
|
||||
<li>
|
||||
<a href="#Compiling under Windows with Visual Studio">Compiling under Windows
|
||||
with Visual Studio</a></li>
|
||||
|
||||
<li>Compiling under Unix (including Mac OSX and Cygwin)</li>
|
||||
<br>
|
||||
<li>
|
||||
Compiling under Unix (including Mac OSX and Cygwin)</li>
|
||||
|
||||
<p>
|
||||
Building the OSG requires 'gmake', due to the extensive use of gmake directives
|
||||
in the Makefiles. You can get gmake from here if you don't already have
|
||||
it installed: http://www.gnu.org/software/make/
|
||||
</p>
|
||||
|
||||
<p>
|
||||
Almost all of the unix compling is done simply with <b>make; make install</b> with <b>make help</b> to bring up help.
|
||||
For platform specific details:
|
||||
</p>
|
||||
<p><br>Building the OSG requires 'gmake', due to the extensive use of gmake
|
||||
directives in the Makefiles. You can get gmake from here if you don't already
|
||||
have it installed: http://www.gnu.org/software/make/
|
||||
<p>Almost all of the unix compiling is done simply with <b>make; make install</b>
|
||||
with <b>make help</b> to bring up help. For platform specific details:
|
||||
<ul>
|
||||
<li><a href="#Cygwin">Cygwin</a></li>
|
||||
<li><a href="#Linux">Linux</a></li>
|
||||
<li><a href="#Free BSD">Free BSD</a></li>
|
||||
<li><a href="#Mac OSX">Mac OSX</a></li>
|
||||
<li><a href="#IRIX">IRIX</a></li>
|
||||
<li><a href="#Solaris">Solaris</a></li>
|
||||
<li>
|
||||
<a href="#Cygwin">Cygwin</a></li>
|
||||
|
||||
<li>
|
||||
<a href="#Linux">Linux</a></li>
|
||||
|
||||
<li>
|
||||
<a href="#Free BSD">Free BSD</a></li>
|
||||
|
||||
<li>
|
||||
<a href="#Mac OSX">Mac OSX</a></li>
|
||||
|
||||
<li>
|
||||
<a href="#IRIX">IRIX</a></li>
|
||||
|
||||
<li>
|
||||
<a href="#Solaris">Solaris</a></li>
|
||||
</ul>
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
<h3>
|
||||
<u><a name="Compiling under Windows with Visual Studio">Compiling under Windows with Visual Studio.</a></u></h3>
|
||||
<p>The Microsoft Visual C++ 6.0 workspace file is VisualStudio.dsw located
|
||||
<a NAME="Compiling under Windows with Visual Studio"></a><u>Compiling under
|
||||
Windows with Visual Studio.</u></h3>
|
||||
The Microsoft Visual C++ 6.0 workspace file is VisualStudio.dsw located
|
||||
in the VisualStudio below the OSG this root directory. The OSG will compile
|
||||
with the basic VisualC++6.0, but, and this is a big but, the STL version which
|
||||
comes with VisualC++6.0 is extremely buggy and unable to handle things even
|
||||
as simple as std::mamp without crashing, even the latest severice packs (which are
|
||||
recommended won't fix the STL bugs). This is a problem for the OpenSceneGraph
|
||||
since it makes proper use of Standard C++. One can struggle on with the MS's
|
||||
and expect crashes and optimization disabled, or adopt one of the follwing:
|
||||
|
||||
with the basic VisualC++6.0, but, and this is a big but, the STL version
|
||||
which comes with VisualC++6.0 is extremely buggy and unable to handle things
|
||||
even as simple as std::mamp without crashing, even the latest service packs
|
||||
(which are recommended won't fix the STL bugs). This is a problem for the
|
||||
OpenSceneGraph since it makes proper use of Standard C++. One can struggle
|
||||
on with the MS's and expect crashes and optimization disabled, or adopt
|
||||
one of the following:
|
||||
<ol>
|
||||
<li> Visual Studio .NET </li>
|
||||
<li> Dinkumware's STL bug fix patches - <a href="http://www.dinkumware.com/vc_fixes.html">http://www.dinkumware.com/vc_fixes.html</a>.</li>
|
||||
<li> STLport - <a href="http://www.stlport.org">http://www.stlport.org</a></li>
|
||||
<li>
|
||||
Visual Studio .NET</li>
|
||||
|
||||
<li>
|
||||
Dinkumware's STL bug fix patches - <a href="http://www.dinkumware.com/vc_fixes.html">http://www.dinkumware.com/vc_fixes.html</a>.</li>
|
||||
|
||||
<li>
|
||||
STLport - <a href="http://www.stlport.org">http://www.stlport.org</a></li>
|
||||
</ol>
|
||||
|
||||
</p>
|
||||
<p>The OSG is composed of a number of scene graph libraries (with Core in front of the project names),
|
||||
executables (with Demos in front of the project names), and plugins which read and write 3D data formats
|
||||
and 2D image formats. To get the OSG running you'll need at least to compile Core osg,osgUtil,osgDB,osgGLUT,
|
||||
osgPlugin dot_osg and Demo sgv. The rest of the libraries and executables are optional and can
|
||||
be compiled if you need them, however for simplicity I would recommend
|
||||
doing a batch build of all the libraries and executables in the distribution,
|
||||
some of the plug-ins which support non native file formats may not compile
|
||||
due to dependencies on other libraries (such as libpng), you can ignore
|
||||
these compilation errors unless you need to load the related file types. To help
|
||||
the compilationon the plugins, osgGLUT and osgText one can download .zip
|
||||
archive will all the dependancies in it. Further details on this .zip file can
|
||||
be found in <i><a href="dependencies.html">dependencies.html</a></i>
|
||||
|
||||
</p>
|
||||
The OSG is composed of a number of scene graph libraries (with Core in
|
||||
front of the project names), executables (with Demos in front of the project
|
||||
names), and plugins which read and write 3D data formats and 2D image formats.
|
||||
To get the OSG running you'll need at least to compile Core osg,osgUtil,osgDB,osgGLUT,
|
||||
osgPlugin dot_osg and Demo sgv. The rest of the libraries and executables
|
||||
are optional and can be compiled if you need them, however for simplicity
|
||||
I would recommend doing a batch build of all the libraries and executables
|
||||
in the distribution, some of the plug-ins which support non native file
|
||||
formats may not compile due to dependencies on other libraries (such as
|
||||
libpng), you can ignore these compilation errors unless you need to load
|
||||
the related file types. To help the compilation the plugins, osgGLUT and
|
||||
osgText one can download .zip archive will all the dependencies in it.
|
||||
Further details on this .zip file can be found in <i><a href="dependencies.html">dependencies.html</a></i>
|
||||
<p>To execute the viewer the file path for the .dll's and .exe, both compiled
|
||||
into the OSG's bin directory, need to be setup, such as by adding the PATH
|
||||
to your autoexec.bat, its also useful to add the OSGFILEPATH to your autoexec.bat
|
||||
to help the location of datafiles. For example :
|
||||
</p>
|
||||
<p>SET OSGFILEPATH=D:\OpenSceneGraph-Data;D:\OpenSceneGraph-Data\Images</p>
|
||||
<p>SET OSGFILEPATH=D:\OpenSceneGraph-Data;D:\OpenSceneGraph-Data\Images
|
||||
<br>SET PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;D:\osg-0.8.43\bin;
|
||||
<p>To help compilation of the image reader plugins, various image libraries
|
||||
have been zipped up for your convienice, your find these on the OSG release
|
||||
have been zipped up for your convenience, your find these on the OSG release
|
||||
download directory.
|
||||
<h3>
|
||||
Using Visual Studio .NET</h3>
|
||||
<p>
|
||||
Looks like Microsoft have eventually got their act together on the compiler front,
|
||||
the compiler looks Standard C++ compilient with a solid STL implement, so this is
|
||||
the recommend route.</p>
|
||||
Looks like Microsoft have eventually got their act together on the compiler
|
||||
front, the compiler looks Standard C++ compliant with a solid STL implement,
|
||||
so this is the recommend route.
|
||||
<h3>
|
||||
Using Dinkumware STL</h3>
|
||||
<p>
|
||||
The basic jist is that you'll need to download their STL implementation, and follow their
|
||||
instructions of how toforce VisualStudio to pick up the new STL implementation. More details
|
||||
at <a href="http://www.dinkumware.com/vc_fixes.html">http://www.dinkumware.com/vc_fixes.html</a>.
|
||||
</p>
|
||||
<p>
|
||||
Once it is installed everything should compile fine and not crash, but you won't be running at full
|
||||
speed since the build #odef's out some important state optimizations since the basic VisualStudio
|
||||
can't handle it. You can safely remove the #ifdef from src/osgUtil/Otimizer.cpp, Line 44.
|
||||
|
||||
The #ifdef is smart enough to do this automatically when using VIsualStudio .NET and STLport so that
|
||||
modification by hand won't be required. Unfortunately there doesn't seem to be a special define associated
|
||||
with the Dinkumware STL for the #ifdef to pick up on.
|
||||
</p>
|
||||
<h3>Using STLport</h3>
|
||||
</p>
|
||||
The basic jist is that you'll need to download their STL implementation,
|
||||
and follow their instructions of how to force VisualStudio to pick up the
|
||||
new STL implementation. More details at <a href="http://www.dinkumware.com/vc_fixes.html">http://www.dinkumware.com/vc_fixes.html</a>.
|
||||
<p>Once it is installed everything should compile fine and not crash, but
|
||||
you won't be running at full speed since the build #ifdef's out some important
|
||||
state optimizations since the basic VisualStudio can't handle it. You can
|
||||
safely remove the #ifdef from src/osgUtil/Otimizer.cpp, Line 44. The #ifdef
|
||||
is smart enough to do this automatically when using VisualStudio .NET and
|
||||
STLport so that modification by hand won't be required. Unfortunately there
|
||||
doesn't seem to be a special define associated with the Dinkumware STL
|
||||
for the #ifdef to pick up on.
|
||||
<h3>
|
||||
Using STLport</h3>
|
||||
The OSG has been tested under Windows with STLport-4.5, which allows the
|
||||
users to configure the type of STL support required for STLport itself.
|
||||
The key configuration that the OSG needs to do is to enable the wrapping
|
||||
of MS's own iostreams, than using STLport's own implementation. The later
|
||||
is not required because this has not be problematic under Windows, it is
|
||||
only the container classes and algorithms that need replacing (thanks to
|
||||
MS's utterly hopeless implementation of these). Using the iostream wrappping
|
||||
MS's utterly hopeless implementation of these). Using the iostream wrapping
|
||||
option means the STLport can just be used on your include path, there is
|
||||
no need to compile STLport itself, or link into any special libraries.
|
||||
To configure STLport simply comment IN (its commented out by default),
|
||||
the follwing line from STLport-4.5/stlport/stl_user_config.h so it should
|
||||
the following line from STLport-4.5/stlport/stl_user_config.h so it should
|
||||
look: # define _STLP_NO_OWN_IOSTREAMS 1 Then configure the includes path
|
||||
in Visual Studio to pick up on STLport: Select the "Tools" menu. Select
|
||||
"Options" In the Options dialog, select the "Directories" tab Under the
|
||||
"include" option, add the path to STLport4.5, something like: D:/STLport4.5/stlport
|
||||
Then press the up array to move the entry all the way to the top of the
|
||||
list, thus overriding MS's own STL implementations.
|
||||
</p>
|
||||
<hr>
|
||||
|
||||
|
||||
<h3><u><a name="Linux">Compiling under Linux</a></u></h3>
|
||||
<h3>
|
||||
<a NAME="Linux"></a><u>Compiling under Linux</u></h3>
|
||||
Compile, from the OSG root directory, ('%' is UNIX csh prompt) type:
|
||||
<blockquote><tt>% make</tt></blockquote>
|
||||
Note, make should automatically detect linux and build optimized targets
|
||||
for your system. And if you wish to install the OSG type:
|
||||
<blockquote><tt>% make install</tt></blockquote>
|
||||
<blockquote><tt>% make install</tt></blockquote>
|
||||
or
|
||||
<blockquote><tt>% make instlinks</tt></blockquote>
|
||||
<blockquote><tt>% make instlinks</tt></blockquote>
|
||||
To get full details of make options, type:
|
||||
<blockquote><tt>% make help</tt></blockquote>
|
||||
<blockquote><tt>% make help</tt></blockquote>
|
||||
(highly recommended)
|
||||
<p>The osgText library now depends upon GLU1.3 functionality, and only
|
||||
the recent Mesa version have this as stanadard. Unfortnately not all Linux
|
||||
distribtions are upto date even recent ones. If you have problems compiling
|
||||
the recent Mesa version have this as standard. Unfortunately not all Linux
|
||||
distributions are up to date even recent ones. If you have problems compiling
|
||||
osgText due to GLU problems then check out the details at the bottom of
|
||||
this file, under the title RedHat7.1 & GLU1.3 for a quick way of installing
|
||||
GLU1.3 in the right place.
|
||||
@ -226,63 +224,58 @@ a README in the tarball with some info on what the script actually does.
|
||||
There's nothing wrong with OSG itself; the problem with Redhat 7.2 is that
|
||||
it doesn't have GLU 1.3 by default, which OSG is now dependent on (for
|
||||
osgText.) Good luck everyone. - Clay
|
||||
|
||||
<br>
|
||||
<br>
|
||||
<p>
|
||||
<hr>
|
||||
|
||||
<h3><u><a name="Free BSD">Compiling under FreeBSD</a></u></h3>
|
||||
<h3>
|
||||
<a NAME="Free BSD"></a><u>Compiling under FreeBSD</u></h3>
|
||||
Compile, from the OSG root directory, ('%' is UNIX csh prompt) type:
|
||||
<blockquote><tt>% make</tt></blockquote>
|
||||
Note, make should automatically detect linux and build optimized targets
|
||||
for your system. And if you wish to install the OSG type:
|
||||
<blockquote><tt>% make install</tt></blockquote>
|
||||
<blockquote><tt>% make install</tt></blockquote>
|
||||
or
|
||||
<blockquote><tt>% make instlinks</tt></blockquote>
|
||||
<blockquote><tt>% make instlinks</tt></blockquote>
|
||||
To get full details of make options, type:
|
||||
<blockquote><tt>% make help</tt></blockquote>
|
||||
<blockquote><tt>% make help</tt></blockquote>
|
||||
(highly recommended)
|
||||
|
||||
<br>
|
||||
<br>
|
||||
<p>
|
||||
<hr>
|
||||
|
||||
<h3><u><a name="IRIX">Compiling under IRIX</a></u></h3>
|
||||
<h3>
|
||||
<a NAME="IRIX"></a><u>Compiling under IRIX</u></h3>
|
||||
Since the OSG uses Standard C++ features such as STL it is important to
|
||||
have an up to date version of the MIPSPro compilers, ie. 7.3 or later.
|
||||
Support for MIPSPro7.2.1 has now been dropped since it was becoming to
|
||||
unwildy to support and is very rarely used in the OSG commiunity. It is
|
||||
unwildy to support and is very rarely used in the OSG community. It is
|
||||
recommended to use MIPSPro7.3.1.1m.
|
||||
<p>Compile, from the OSG root directory, ('%' is UNIX csh prompt) type:
|
||||
<blockquote><tt>% make</tt></blockquote>
|
||||
Note, make should automatically detect linux and build optimized targets
|
||||
for your system. And if you wish to install the OSG type:
|
||||
<blockquote><tt>% make install</tt></blockquote>
|
||||
<blockquote><tt>% make install</tt></blockquote>
|
||||
or
|
||||
<blockquote><tt>% make instlinks</tt></blockquote>
|
||||
<blockquote><tt>% make instlinks</tt></blockquote>
|
||||
To get full details of make options, type:
|
||||
<blockquote><tt>% make help</tt></blockquote>
|
||||
<blockquote><tt>% make help</tt></blockquote>
|
||||
(highly recommended)
|
||||
<br>
|
||||
|
||||
<hr>
|
||||
|
||||
<h3><u><a name="Solaris">Compiling under Solaris</a></u></h3>
|
||||
<h3>
|
||||
<a NAME="Solaris"></a><u>Compiling under Solaris</u></h3>
|
||||
Compile, from the OSG root directory, ('%' is UNIX csh prompt) type:
|
||||
<blockquote><tt>% make</tt></blockquote>
|
||||
Note, make should automatically detect linux and build optimized targets
|
||||
for your system. And if you wish to install the OSG type:
|
||||
<blockquote><tt>% make install</tt></blockquote>
|
||||
<blockquote><tt>% make install</tt></blockquote>
|
||||
or
|
||||
<blockquote><tt>% make instlinks</tt></blockquote>
|
||||
<blockquote><tt>% make instlinks</tt></blockquote>
|
||||
To get full details of make options, type:
|
||||
<blockquote><tt>% make help</tt></blockquote>
|
||||
<blockquote><tt>% make help</tt></blockquote>
|
||||
(highly recommended)
|
||||
<br>
|
||||
|
||||
<hr>
|
||||
|
||||
<h3><u><a name="Mac OSX">Compiling under MacOS X (instructions written by Phil Atkin)</a></u></h3>
|
||||
<h3>
|
||||
<a NAME="Mac OSX"></a><u>Compiling under MacOS X (instructions written
|
||||
by Phil Atkin)</u></h3>
|
||||
For anyone who's ever used a Unix box for development it really is so simple
|
||||
it's insane.
|
||||
<p>You need to have installed the Developer tools from the CD that comes
|
||||
@ -293,7 +286,7 @@ OS rather than the Aqua gloss. The Mac comes with an app in Applications/Utiliti
|
||||
called Terminal - open up any Finder window (e.g double-click on your hard
|
||||
disk icon), click on the Applications icon at the top right of the window,
|
||||
then click on the Utilities folder to get access to all the grubby apps
|
||||
which give away the real OS roots underneath the shiny paintwork. Anyone
|
||||
which give away the real OS roots underneath the shiny paint work. Anyone
|
||||
developing will need Terminal so much they should put it in their Dock.
|
||||
You do that by grabbing the icon of the app in the Utilities folder and
|
||||
dragging it to the bottom of your screen, at which point the other app
|
||||
@ -309,7 +302,7 @@ folder of the harddisk the machine booted from).
|
||||
filename that the Mac won't let you see from the Finder or in fact generate
|
||||
from an app, so I used vi to create that. Then I just went
|
||||
<p>cd $OSGHOME
|
||||
<blockquote><tt>% make clean</tt>
|
||||
<blockquote><tt>% make clean</tt>
|
||||
<br><tt>% make macosx</tt></blockquote>
|
||||
|
||||
<p><br>And it sounds too good to be true but it is that simple. It's worth
|
||||
@ -323,11 +316,9 @@ built osg rgb 3ds and a couple others - will check and get back to you.
|
||||
account on the machine, which by default is switched off as the machines
|
||||
ship for security reasons. Rather than typing in and risking error through
|
||||
paraphrase, here is a link to a site which tells you how to do this -
|
||||
<blockquote><a href="http://www.macos.utah.edu/Documentation/macosx/security/enablerootuser.html
|
||||
">http://www.macos.utah.edu/Documentation/macosx/security/enablerootuser.html</a></blockquote>
|
||||
<blockquote><a href="http://www.macos.utah.edu/Documentation/macosx/security/enablerootuser.html">http://www.macos.utah.edu/Documentation/macosx/security/enablerootuser.html</a></blockquote>
|
||||
Or alternately,
|
||||
<blockquote><a href="http://www.thinkmacintosh.com/osxfaq.html
|
||||
">http://www.thinkmacintosh.com/osxfaq.html</a></blockquote>
|
||||
<blockquote><a href="http://www.thinkmacintosh.com/osxfaq.html">http://www.thinkmacintosh.com/osxfaq.html</a></blockquote>
|
||||
|
||||
<p><br>One you have a root account enabled, you have to su root you cd
|
||||
to the directory which the Fink installer generates, and it puts libdl.a
|
||||
@ -341,27 +332,24 @@ but at the point it tries to use GLUT to open a window it falls over with
|
||||
a CGS error (which is I think Core Graphics System). If you explicitly
|
||||
go bin/hangglide it works fine. Weird, it may be an OS X 10.04 issue which
|
||||
is gone in 10.1 or it may be a weirdy in the Mac GLUT implementation, but
|
||||
forewarned is forearmed.
|
||||
|
||||
forewarned is forearmed.
|
||||
<hr>
|
||||
|
||||
<h3><u><a name="Cygwin">Compiling under Cygwin</a></u></h3>
|
||||
<h3>
|
||||
<a NAME="Cygwin"></a><u>Compiling under Cygwin</u></h3>
|
||||
To compile, from the OSG root directory, type: make Note, make should automatically
|
||||
detect your system and build optimized targets for your system. And if
|
||||
you wish to install the OSG type: make install Note that make symbolic
|
||||
links don't seem to work under cygwin, so a make instlinks will simply
|
||||
copy files just like make install. 'make install' places all files in /usr/local/OpenSceneGraph
|
||||
under appropriate subdirectories. To get full details of make options,
|
||||
under appropriate sub directories. To get full details of make options,
|
||||
type: make help (highly recommended)
|
||||
<p>OSGFILEPATH environmental variable
|
||||
<p>For the OSG to locate file data files easily an environmetal variable
|
||||
OSGFILEPATH is used at run-time by the osgDB library. Note, for examples
|
||||
<p>OSG_FILE_PATH environmental variable
|
||||
<p>For the OSG to locate file data files easily an environmental variable
|
||||
OSG_FILE_PATH is used at run-time by the osgDB library. Note, for examples
|
||||
below substitute in the ${OSGDATA} directory with your own path where appropriate)
|
||||
Add the following to your .cshrc (note paths seperated by colon's): setenv
|
||||
OSGFILEPATH ./:${OSGDATA}:${OSGDATA}/Images Or the following if you're
|
||||
using a sh compatible shell : export OSGFILEPATH=./:${OSGDATA}:${OSGDATA}/Images:
|
||||
Or under windows (note paths seperated by semi-colon's) : SET OSGFILEPATH=./:${OSGDATA};${OSGDATA}/Images
|
||||
|
||||
|
||||
Add the following to your .cshrc (note paths separated by colon's): setenv
|
||||
OSG_FILE_PATH ./:${OSGDATA}:${OSGDATA}/Images Or the following if you're
|
||||
using a sh compatible shell : export OSG_FILE_PATH=./:${OSGDATA}:${OSGDATA}/Images:
|
||||
Or under windows (note paths seperated by semi-colon's) : SET OSG_FILE_PATH=./:${OSGDATA};${OSGDATA}/Images
|
||||
</body>
|
||||
</html>
|
||||
|
@ -7,21 +7,30 @@
|
||||
</head>
|
||||
<body bgcolor="#FFFFFF">
|
||||
<img SRC="images/OpenSceneGraphBanner_Distribution.jpg" BORDER=0 height=77 width=640>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td><a href="index.html">Index</a> </td>
|
||||
<td><a href="introduction.html">Introduction</a> </td>
|
||||
<td><a href="contents.html">Contents</a> </td>
|
||||
<td><a href="install.html">Install</a> </td>
|
||||
<td><a href="dependencies.html">Dependencies</a> </td>
|
||||
<td><a href="demos.html">Demos</a> </td>
|
||||
<td><a href="data.html">Data</a> </td>
|
||||
<td><a href="sgv.html">Viewer</a> </td>
|
||||
<td><a href="stereo.html">Stereo</a> </td>
|
||||
<td><a href="plan.html">Plan</a> </td>
|
||||
<td><a href="documentation.html">Reference Guides</a> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="index.html">Index</a></td>
|
||||
|
||||
<td><a href="introduction.html">Introduction</a></td>
|
||||
|
||||
<td><a href="contents.html">Contents</a></td>
|
||||
|
||||
<td><a href="install.html">Install</a></td>
|
||||
|
||||
<td><a href="dependencies.html">Dependencies</a></td>
|
||||
|
||||
<td><a href="demos.html">Demos</a></td>
|
||||
|
||||
<td><a href="data.html">Data</a></td>
|
||||
|
||||
<td><a href="sgv.html">Viewer</a></td>
|
||||
|
||||
<td><a href="stereo.html">Stereo</a></td>
|
||||
|
||||
<td><a href="plan.html">Plan</a></td>
|
||||
|
||||
<td><a href="documentation.html">Reference Guides</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h2>
|
||||
@ -62,9 +71,7 @@ scientific and commercial visualization, training through to modeling programs.
|
||||
<h3>
|
||||
<u>Why use a Scene Graph - Performance, Productivity, Portability and Scalability</u>.</h3>
|
||||
|
||||
<ol>
|
||||
<li><p>
|
||||
<i>Performance</i> - scene graphs provide an excellent framework for
|
||||
<ol><i>Performance</i> - scene graphs provide an excellent framework for
|
||||
maximize graphics performance. A good scene graph employs two key techniques
|
||||
- culling of the objects that won't be seen on screen, and state sorting
|
||||
of properties such as textures and materials so that all similar objects
|
||||
@ -76,12 +83,10 @@ with just a few operations! Without state sorting, the the buses and GPU
|
||||
will thrash between states, stalling the graphics and destroying graphics
|
||||
throughout. As GPU's get faster and faster, the cost of stalling the graphics
|
||||
is also going up, so scene graph are become ever more important.
|
||||
</p></li>
|
||||
<li><p>
|
||||
<i>Productivity</i> - scene graphs take much of the hard work required
|
||||
<p><i>Productivity</i> - scene graphs take much of the hard work required
|
||||
to develop high performance graphics applications. The scene graphs manage
|
||||
all the graphics for you, reducing what would be thousands of lines of
|
||||
OpenGL down to a few simple calls. Furthermoe, one of most powerful concepts
|
||||
OpenGL down to a few simple calls. Furthermore, one of most powerful concepts
|
||||
in Object Orientated programming is that of object composition, enshrined
|
||||
in <i>Composite Design Pattern</i>, which fits the scene graph tree structure
|
||||
perfectly which makes it highly flexible and reusable design - in real
|
||||
@ -91,25 +96,19 @@ helping users set up and manage graphics windows to import of 3d modes
|
||||
and images. All this together allows the user to achieve a great deal with
|
||||
very little coding. A dozen lines of code can be enough to load your data
|
||||
and create an interactive viewer!
|
||||
</p></li>
|
||||
<li><p>
|
||||
<i>Portability</i> - scene graphs encapsulate much of the lower level
|
||||
<p><i>Portability</i> - scene graphs encapsulate much of the lower level
|
||||
tasks of rendering graphics and reading and writing data, reducing or even
|
||||
eradicating the platform specific coding that you require in your own application.
|
||||
If the underlying scene graph is portable then moving from platform to
|
||||
platform can be a simple as recompiling your source code.
|
||||
</p></li>
|
||||
<li><p>
|
||||
<i>Scalability</i> - along with being able to dynamic manage the complexity
|
||||
<p><i>Scalability</i> - along with being able to dynamic manage the complexity
|
||||
of scenes automatically to account for differences in graphics performance
|
||||
across a range of machines, scene graphs also make it much easier to manage
|
||||
complex hardware configurations, such as clusters of graphics machines,
|
||||
or multiprocessor/multipipe systems such as SGI's Onyx. A good scene graph
|
||||
will allow the developer to concentrate on developing their own application
|
||||
while the rendering framework of the scene graph handles the different
|
||||
underlying hardware configurations.
|
||||
</p></li>
|
||||
</ol>
|
||||
underlying hardware configurations.</ol>
|
||||
|
||||
<hr>
|
||||
<h3>
|
||||
@ -124,9 +123,7 @@ development model to provide a development library that is legacy free
|
||||
and well focused on the solving the task. The OpenSceneGraph delivers on
|
||||
the four key benefits of scene graph technology outlined above using the
|
||||
following features:
|
||||
<ol>
|
||||
<li><p>
|
||||
<i>Performance</i> - supports view frustum culling, small feature culling,
|
||||
<ol><i>Performance</i> - supports view frustum culling, small feature culling,
|
||||
Level Of Details (LOD') nodes, state sorting, vertex arrays and display
|
||||
list as part of the core scene graph, these together make the OpenSceneGraph
|
||||
one highest performance scene graph available. User feedback is that performance
|
||||
@ -137,9 +134,7 @@ of Detail (CLOD) meshes on top the scene graph, these allow the visualization
|
||||
of massive terrain databases interactively, examples of this approach can
|
||||
be found at both Vterrain.org and TerrainEngine.com which both integrate
|
||||
with the OpenSceneGraph.
|
||||
</p></li>
|
||||
<li><p>
|
||||
<i>Productivity</i> - by combining lessons learned from established
|
||||
<p><i>Productivity</i> - by combining lessons learned from established
|
||||
scene graph like Performer and Open Inventor, with modern software engineering
|
||||
methodologies like Design Patterns and a great deal of feedback early on
|
||||
in the development cycle, it has been possible to design a design that
|
||||
@ -148,13 +143,10 @@ to the OpenSceneGraph and to integrate with their own applications. With
|
||||
a full feature set in the core scene graph, utilities to set up the scene
|
||||
graph and viewers and a wide range of loaders it is possible to create
|
||||
an application and bring in user data with a very small amount of code.
|
||||
</p></li>
|
||||
<li><p>
|
||||
<i>Portability</i> - The core scene graph has also been designed to
|
||||
<p><i>Portability</i> - The core scene graph has also been designed to
|
||||
be have minimal platform specific dependency, 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 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 independent makes it easy for
|
||||
users to add their own window specific libraries and applications on top.
|
||||
@ -162,22 +154,18 @@ In the distribution there is already the osgGLUT library, and in the Bazaar
|
||||
found at openscenegrph.org/download/ once can find examples of how applications
|
||||
written on top Qt, MFC, WxWindows and SDL. Users have also integrated it
|
||||
with Motif, and X.
|
||||
</p></li>
|
||||
<li><p>
|
||||
<i>Scalability</i> - 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 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 cull-draw
|
||||
pairs to run on multiple CPU's which are bound to multiple graphics subsystems.
|
||||
This has been demonstrated using the OpenSceneGraph in conjunction with
|
||||
sgi's OpenGL multipipe SDK. We also have osgMP in development which will
|
||||
be cross platform and transparently support multiple multipipe systems
|
||||
like the Onyx and graphics clusters
|
||||
</p></li>
|
||||
</ol>
|
||||
<p><i>Scalability</i> - 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 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
|
||||
cull-draw pairs to run on multiple CPU's which are bound to multiple graphics
|
||||
subsystems. This has been demonstrated using the OpenSceneGraph in conjunction
|
||||
with sgi's OpenGL multipipe SDK. We also have osgMP in development which
|
||||
will be cross platform and transparently support multiple multipipe systems
|
||||
like the Onyx and graphics clusters</ol>
|
||||
All the source to is published under the GNU Library General Public License
|
||||
(LGPL) which allows both open source and closed source projects to use,
|
||||
modify and distribute it freely as long its usage complies with the LGPL.
|
||||
@ -219,13 +207,15 @@ for using the developers using the OpenSceneGraph.
|
||||
<p>The source distribution contains the all the source and include files
|
||||
required to build the OpenSceneGraph from scratch, and is ideal if you
|
||||
want to learn more about how the scene graph works, how to extend it, and
|
||||
to track down and fix any problems that you come across.
|
||||
to
|
||||
track down and fix any problems that you come across.
|
||||
<p>If you are using a source distribution then read the <a href="install.html">installation</a>
|
||||
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 dependent upon such as glut, check the
|
||||
<a href="dependencies.html">dependencies</a>
|
||||
OpenSceneGraph is dependent upon such as glut, check the <a href="dependencies.html">dependencies</a>
|
||||
list for further details.
|
||||
<p>For full instructions of how to run the demos read the <a href="demos.html">demos</a>
|
||||
page.
|
||||
<br>
|
||||
<hr>
|
||||
<h3>
|
||||
|
149
doc/plan.html
149
doc/plan.html
@ -2,111 +2,126 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="GENERATOR" content="Mozilla/4.6 [en-gb]C-CCK-MCD NetscapeOnline.co.uk (Win95; I) [Netscape]">
|
||||
<meta name="GENERATOR" content="Mozilla/4.77 [en] (X11; U; Linux 2.4.3-20mdk i686) [Netscape]">
|
||||
<title>Plans for future developments</title>
|
||||
</head>
|
||||
<body text="#000000" bgcolor="#FFFFFF" link="#0000FF" vlink="#990066" alink="#FF0000">
|
||||
<img SRC="images/OpenSceneGraphBanner_Distribution.jpg" height=77 width=640>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td><a href="index.html">Index</a> </td>
|
||||
<td><a href="introduction.html">Introduction</a> </td>
|
||||
<td><a href="contents.html">Contents</a> </td>
|
||||
<td><a href="install.html">Install</a> </td>
|
||||
<td><a href="dependencies.html">Dependencies</a> </td>
|
||||
<td><a href="demos.html">Demos</a> </td>
|
||||
<td><a href="data.html">Data</a> </td>
|
||||
<td><a href="sgv.html">Viewer</a> </td>
|
||||
<td><a href="stereo.html">Stereo</a> </td>
|
||||
<td><a href="plan.html">Plan</a> </td>
|
||||
<td><a href="documentation.html">Reference Guides</a> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="index.html">Index</a></td>
|
||||
|
||||
<td><a href="introduction.html">Introduction</a></td>
|
||||
|
||||
<td><a href="contents.html">Contents</a></td>
|
||||
|
||||
<td><a href="install.html">Install</a></td>
|
||||
|
||||
<td><a href="dependencies.html">Dependencies</a></td>
|
||||
|
||||
<td><a href="demos.html">Demos</a></td>
|
||||
|
||||
<td><a href="data.html">Data</a></td>
|
||||
|
||||
<td><a href="sgv.html">Viewer</a></td>
|
||||
|
||||
<td><a href="stereo.html">Stereo</a></td>
|
||||
|
||||
<td><a href="plan.html">Plan</a></td>
|
||||
|
||||
<td><a href="documentation.html">Reference Guides</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h2>
|
||||
<u>Plans for future developments</u></h2>
|
||||
The plan for the next release after 0.8.45 is to from alpha (all 0.8 series
|
||||
version) to beta for the next release, at this point will bump the version
|
||||
number up to 0.9.0 and all subsequent 0.9 releases will be beta, up till
|
||||
the release of 1.0. The current goal is to move to beta in early summer,
|
||||
with 1.0 in late summer, with SIGGRAPH being a possibility.
|
||||
<h3>
|
||||
Features planed for the next release (0.9.0) include:</h3>
|
||||
|
||||
<h2><u>Plans for future developments</u></h2>
|
||||
|
||||
<p>
|
||||
The plan for the next release after 0.8.45 is to from alpha (all 0.8 series version) to beta for the next release,
|
||||
at this point will bump the version number up to 0.9.0 and all subsequent 0.9 releases will be beta, uptill the
|
||||
release of 1.0. The current goal is to move to beta in early summer, with 1.0 in late summer, with SIGGRAPH
|
||||
being a possibility.
|
||||
</p>
|
||||
|
||||
<h3>Features planed for the next release (0.9.0) include:</h3>
|
||||
<ul>
|
||||
|
||||
<li>
|
||||
New osg::Geometry drawable to deprecate osg::GeoSet, the new Geometry class
|
||||
will support multiple text coords, use std::vector<> for easy management of
|
||||
attributes.and support gl extensions to provide greater polygon performance.
|
||||
</li>
|
||||
will support multiple text coords, use std::vector<> for easy management
|
||||
of attributes and support gl extensions to provide greater polygon performance.</li>
|
||||
|
||||
<li>
|
||||
Multi-texturing support in osg::Texture. osg::TexMat, osg::TexGen.
|
||||
</li>
|
||||
Multi-texturing support in osg::Texture. osg::TexMat, osg::TexGen.</li>
|
||||
|
||||
<li>
|
||||
Multi-pass fallback for when multi-texturing is not supported.
|
||||
</li>
|
||||
Multi-pass fallback for when multi-texturing is not supported.</li>
|
||||
|
||||
<li>
|
||||
Clean up the API for managing multi-stage and multi-pass rendering within the scene graph.
|
||||
</li>
|
||||
Clean up the API for managing multi-stage and multi-pass rendering within
|
||||
the scene graph.</li>
|
||||
|
||||
<li>
|
||||
Replace osgGLUT with a cleaner windowing API for the demos, move osgGLUT
|
||||
out of the distribution and into the bazaar.
|
||||
</li>
|
||||
out of the distribution and into the bazaar.</li>
|
||||
|
||||
<li>
|
||||
Introduce a new library osgGA, which acts as GUI abstraction layer, move the
|
||||
current osgUtil camera manipulators into osgGA.</li>
|
||||
Introduce a new library osgGA, which acts as GUI abstraction layer, move
|
||||
the current osgUtil camera manipulators into osgGA.</li>
|
||||
|
||||
<li>
|
||||
Introduce a new library osgEnv/osgShapes, which adds support for creating shapes and
|
||||
environmental effects such as stars, planats, cloud layers and ground planes.
|
||||
</li>
|
||||
Introduce a new library osgEnv/osgShapes, which adds support for creating
|
||||
shapes and environmental effects such as stars, planets, cloud layers and
|
||||
ground planes.</li>
|
||||
|
||||
<li>
|
||||
Integrate unit tests for all classes, and develop a test suite.
|
||||
</li>
|
||||
Integrate unit tests for all classes, and develop a test suite.</li>
|
||||
</ul>
|
||||
|
||||
<h3>Books, tutorials and demostrations</h3>
|
||||
<h3>
|
||||
Books, tutorials and demonstrations</h3>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
Don Burns and Robert Osfield to write the OpenSceneGraph book!</li>
|
||||
|
||||
<li>
|
||||
Development of tutorials to published as part of the distribution and on the bazaar</li>
|
||||
Development of tutorials to published as part of the distribution and on
|
||||
the bazaar</li>
|
||||
|
||||
<li>
|
||||
Development of technoglogy demonstrations for shows, presentations and training.</li>
|
||||
Development of technology demonstrations for shows, presentations and training.</li>
|
||||
</ul>
|
||||
|
||||
<h3>Development of commerical add on libraries:</h3>
|
||||
<h3>
|
||||
Development of commercial add on libraries:</h3>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
osgMP - cross platform library for transparently managing mulitpipe and
|
||||
cluster graphics systems. Similar in concept to OpenGL multipipe SDK, except
|
||||
cross platform and with support of graphics clusters.</li>
|
||||
|
||||
<li>
|
||||
osgMP - cross platfrom library for transparently managing mulitpipe and
|
||||
cluster graphics systems. Similar in concept to OpenGL multipipe SDK, except cross
|
||||
platform and with support of graphics clusters.
|
||||
</li>
|
||||
<li>
|
||||
osgLP - cross platform libary for support for light points.</li>
|
||||
osgLP - cross platform library for support for light points.</li>
|
||||
</ul>
|
||||
|
||||
<h3>Professional services</h3>
|
||||
<h3>
|
||||
Professional services</h3>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
Set up a support contract and support systems for confidential, email,
|
||||
phone and onsite support.</li>
|
||||
|
||||
<li>
|
||||
Set up a support contract and support systems for confidential,
|
||||
email, phone and onsite support.</li>
|
||||
<li>
|
||||
Set up the Open Scene Graph Professional License (OSGPL) which is
|
||||
conventional propriatary license.that allows companies to distribute
|
||||
projects that do not comply wiht the terms of the LGPL, such as turn
|
||||
key systems.</li>
|
||||
Set up the Open Scene Graph Professional License (OSGPL) which is conventional
|
||||
proprietary license that allows companies to distribute projects that do
|
||||
not comply with the terms of the LGPL, such as turn key systems.</li>
|
||||
|
||||
<li>
|
||||
Develop training courses.</li>
|
||||
</ul>
|
||||
|
||||
For further details on osgMP, osgLP, OSGPL licensing, professional support, training and consultancy
|
||||
services contact Robert Osfield at <a href="mailto:robert@openscenegraph.com">robert@openscenegraph.com</a> or
|
||||
Don Burns at <a href="mailto:don@andesengineering.com">don@andesengineering.com.</a>
|
||||
|
||||
For further details on osgMP, osgLP, OSGPL licensing, professional support,
|
||||
training and consultancy services contact Robert Osfield at <a href="mailto:robert@openscenegraph.com">robert@openscenegraph.com</a>
|
||||
or Don Burns at <a href="mailto:don@andesengineering.com">don@andesengineering.com.</a>
|
||||
</body>
|
||||
</html>
|
||||
|
479
doc/stereo.html
479
doc/stereo.html
@ -2,228 +2,305 @@
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="GENERATOR" content="Mozilla/4.75C-SGI [en] (X11; I; IRIX64 6.5 IP27) [Netscape]">
|
||||
<meta name="GENERATOR" content="Mozilla/4.77 [en] (X11; U; Linux 2.4.3-20mdk i686) [Netscape]">
|
||||
<title>Native stereo support</title>
|
||||
</head>
|
||||
<body text="#000000" bgcolor="#FFFFFF" link="#0000EE" vlink="#551A8B" alink="#FF0000">
|
||||
|
||||
<img SRC="images/OpenSceneGraphBanner_Distribution.jpg" height=77 width=640>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td><a href="index.html">Index</a> </td>
|
||||
<td><a href="introduction.html">Introduction</a> </td>
|
||||
<td><a href="contents.html">Contents</a> </td>
|
||||
<td><a href="install.html">Install</a> </td>
|
||||
<td><a href="dependencies.html">Dependencies</a> </td>
|
||||
<td><a href="demos.html">Demos</a> </td>
|
||||
<td><a href="data.html">Data</a> </td>
|
||||
<td><a href="sgv.html">Viewer</a> </td>
|
||||
<td><a href="stereo.html">Stereo</a> </td>
|
||||
<td><a href="plan.html">Plan</a> </td>
|
||||
<td><a href="documentation.html">Reference Guides</a> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="index.html">Index</a></td>
|
||||
|
||||
<td><a href="introduction.html">Introduction</a></td>
|
||||
|
||||
<td><a href="contents.html">Contents</a></td>
|
||||
|
||||
<td><a href="install.html">Install</a></td>
|
||||
|
||||
<td><a href="dependencies.html">Dependencies</a></td>
|
||||
|
||||
<td><a href="demos.html">Demos</a></td>
|
||||
|
||||
<td><a href="data.html">Data</a></td>
|
||||
|
||||
<td><a href="sgv.html">Viewer</a></td>
|
||||
|
||||
<td><a href="stereo.html">Stereo</a></td>
|
||||
|
||||
<td><a href="plan.html">Plan</a></td>
|
||||
|
||||
<td><a href="documentation.html">Reference Guides</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h2><u>Native Support for Stereo</u></h2>
|
||||
|
||||
<p>The OSG has support for anaglyphic stereo
|
||||
(i.e. red/green or red/cyan glasses), quad buffered stereo (i.e. active stereo using shutter glasses,
|
||||
or passive stereo using polarized projectors & glasses) and horizontal and vertical split window stereo implementations.
|
||||
Almost all OSG applications have the potential for stereo support simply by setting the relevant environmental variables, or via command line arguments. Little or no code changes will be required, the support is
|
||||
handled transparently inside osgUtil::SceneView's handling of rendering.It is a simple as:
|
||||
</p>
|
||||
<b> sgv -stereo cow.osg</b>
|
||||
|
||||
<p>If the user is planning to use head tracked stereo, or a cave then it is currently recommend to set it
|
||||
up via a VR toolkit such as VRjuggler, in this case refer to the VR toolkits handling of stereo, and keep
|
||||
all the OSG's stereo specific environment variables (below) set to OFF, or set the values to off within own
|
||||
your own applications.
|
||||
</p>
|
||||
<h2>
|
||||
<u>Native Support for Stereo</u></h2>
|
||||
The OSG has support for anaglyphic stereo (i.e. red/green or red/cyan glasses),
|
||||
quad buffered stereo (i.e. active stereo using shutter glasses, or passive
|
||||
stereo using polarized projectors & glasses) and horizontal and vertical
|
||||
split window stereo implementations. Almost all OSG applications have the
|
||||
potential for stereo support simply by setting the relevant environmental
|
||||
variables, or via command line arguments. Little or no code changes will
|
||||
be required, the support is handled transparently inside osgUtil::SceneView's
|
||||
handling of rendering. It is a simple as:
|
||||
<br><b> sgv -stereo cow.osg</b>
|
||||
<p>If the user is planning to use head tracked stereo, or a cave then it
|
||||
is currently recommend to set it up via a VR toolkit such as VRjuggler,
|
||||
in this case refer to the VR toolkits handling of stereo, and keep all
|
||||
the OSG's stereo specific environment variables (below) set to OFF, or
|
||||
set the values to off within own your own applications.
|
||||
<br>
|
||||
<hr>
|
||||
<h3>The environmental variables of interest:</h3>
|
||||
<h3>
|
||||
The environmental variables of interest:</h3>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td><b>OSG_STEREO</b></td>
|
||||
<td><b>ON</b> </td>
|
||||
<td>Turn stereo on </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td><b>OFF</b></td>
|
||||
<td>Turn stereo off (default). </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>OSG_STEREO_MODE</b></td>
|
||||
<td><b>ANAGLYPHIC</b> </td>
|
||||
<td>Use anaglyphic stereo when in stereo (default). </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td><b>QUAD_BUFFER</b> </td>
|
||||
<td>Use quad buffered stereo when in stereo. </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td><b>HORIZONTAL_SPLIT</b> </td>
|
||||
<td>Use horizontal split stereo mode when in stereo </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td><b>VERTICAL_SPLIT</b> </td>
|
||||
<td>Use vertical split stereo mode when in stereo </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>OSG_SCREEN_DISTANCE</b> </td>
|
||||
<td><b>0.50</b> </td>
|
||||
<td>Set the distance the viewer is from screen in metres (default shown) </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>OSG_SCREEN_HEIGHT</b> </td>
|
||||
<td><b>0.26</b> </td>
|
||||
<td>Set the height if image on the screen in metres (default shown) </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>OSG_EYE_SEPERATION</b> </td>
|
||||
<td><b>0.06</b> </td>
|
||||
<td>Set the eye seperation - interoccular distance (default shown.) </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>OSG_SPLIT_STEREO_HORIZONTAL_SEPERATION</b> </td>
|
||||
<td><b>42</b> </td>
|
||||
<td>Set the number of pixels betweent the left and right viewports (default shown).</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>OSG_SPLIT_STEREO_HORIZONTAL_EYE_MAPPING</b> </td>
|
||||
<td><b>LEFT_EYE_LEFT_VIEWPORT</b> </td>
|
||||
<td>Set the left eye to render to left viewport, right eye to right viewport (default). </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td><b>LEFT_EYE_RIGHT_VIEWPORT</b> </td>
|
||||
<td>Set the left eye to render to right viewport, right eye to left viewport. </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>OSG_SPLIT_STEREO_VERTICAL_SEPERATION</b> </td>
|
||||
<td><b>42</b> </td>
|
||||
<td>Set the number of pixels betweent the top and bottom viewports (default shown).</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>OSG_SPLIT_STEREO_VERTICAL_EYE_MAPPING</b> </td>
|
||||
<td><b>LEFT_EYE_TOP_VIEWPORT</b> </td>
|
||||
<td>Set the left eye to render to top viewport, right eye to bottom viewport (default). </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td><b>LEFT_EYE_BOTTOM_VIEWPORT</b> </td>
|
||||
<td>Set the left eye to render to bottom viewport, right eye to top viewport. </td>
|
||||
</tr>
|
||||
</table>
|
||||
<tr>
|
||||
<td><b>OSG_STEREO</b></td>
|
||||
|
||||
<hr>
|
||||
<td><b>ON</b></td>
|
||||
|
||||
<h3>Command line arguments can be used to override these settings:</h3>
|
||||
<td>Turn stereo on </td>
|
||||
</tr>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td><b>-stereo</b> </td>
|
||||
<td><b></b> </td>
|
||||
<td>Switch on stereo. </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>-stereo</b></td>
|
||||
<td><b>ON</b> </td>
|
||||
<td>Switch on stereo. </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td><b>OFF</b> </td>
|
||||
<td>Switch off stereo. </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td><b>ANAGLYPHIC</b> </td>
|
||||
<td>Switch on ANAGLYPHIC stereo. </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td><b>QUAD_BUFFER</b> </td>
|
||||
<td>Switch on QUAD_BUFFER stereo. </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td><b>VERTICAL_SPLIT</b> </td>
|
||||
<td>Switch on VERTICAL_SPLIT stereo. </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td><b>HORIZONTAL_SPLIT</b> </td>
|
||||
<td>Switch on VERTICAL_SPLIT stereo. </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
|
||||
<td><b>OFF</b></td>
|
||||
|
||||
<td>Turn stereo off (default). </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><b>OSG_STEREO_MODE</b></td>
|
||||
|
||||
<td><b>ANAGLYPHIC</b></td>
|
||||
|
||||
<td>Use anaglyphic stereo when in stereo (default). </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td></td>
|
||||
|
||||
<td><b>QUAD_BUFFER</b></td>
|
||||
|
||||
<td>Use quad buffered stereo when in stereo. </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td></td>
|
||||
|
||||
<td><b>HORIZONTAL_SPLIT</b></td>
|
||||
|
||||
<td>Use horizontal split stereo mode when in stereo </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td></td>
|
||||
|
||||
<td><b>VERTICAL_SPLIT</b></td>
|
||||
|
||||
<td>Use vertical split stereo mode when in stereo </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><b>OSG_SCREEN_DISTANCE</b></td>
|
||||
|
||||
<td><b>0.50</b></td>
|
||||
|
||||
<td>Set the distance the viewer is from screen in metres (default shown) </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><b>OSG_SCREEN_HEIGHT</b></td>
|
||||
|
||||
<td><b>0.26</b></td>
|
||||
|
||||
<td>Set the height if image on the screen in metres (default shown) </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><b>OSG_EYE_SEPERATION</b></td>
|
||||
|
||||
<td><b>0.06</b></td>
|
||||
|
||||
<td>Set the eye separation - interoccular distance (default shown.) </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><b>OSG_SPLIT_STEREO_HORIZONTAL_SEPERATION</b></td>
|
||||
|
||||
<td><b>42</b></td>
|
||||
|
||||
<td>Set the number of pixels between the left and right viewports (default
|
||||
shown).</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><b>OSG_SPLIT_STEREO_HORIZONTAL_EYE_MAPPING</b></td>
|
||||
|
||||
<td><b>LEFT_EYE_LEFT_VIEWPORT</b></td>
|
||||
|
||||
<td>Set the left eye to render to left viewport, right eye to right viewport
|
||||
(default). </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td></td>
|
||||
|
||||
<td><b>LEFT_EYE_RIGHT_VIEWPORT</b></td>
|
||||
|
||||
<td>Set the left eye to render to right viewport, right eye to left viewport. </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><b>OSG_SPLIT_STEREO_VERTICAL_SEPERATION</b></td>
|
||||
|
||||
<td><b>42</b></td>
|
||||
|
||||
<td>Set the number of pixels between the top and bottom viewports (default
|
||||
shown).</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><b>OSG_SPLIT_STEREO_VERTICAL_EYE_MAPPING</b></td>
|
||||
|
||||
<td><b>LEFT_EYE_TOP_VIEWPORT</b></td>
|
||||
|
||||
<td>Set the left eye to render to top viewport, right eye to bottom viewport
|
||||
(default). </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td></td>
|
||||
|
||||
<td><b>LEFT_EYE_BOTTOM_VIEWPORT</b></td>
|
||||
|
||||
<td>Set the left eye to render to bottom viewport, right eye to top viewport. </td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<hr>
|
||||
<h3>
|
||||
Command line arguments can be used to override these settings:</h3>
|
||||
|
||||
<h3> Examples:</h3>
|
||||
To invoke stereo from the comandline: <br>
|
||||
<b> sgv -stereo cow.osg</b>
|
||||
<p>To invoke quad buffered stereo from the commandline: <br>
|
||||
<b> sgv -stereo QUAD_BUFFER cow.osg</b></p>
|
||||
<table>
|
||||
<tr>
|
||||
<td><b>-stereo</b></td>
|
||||
|
||||
<td></td>
|
||||
|
||||
<td>Switch on stereo. </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><b>-stereo</b></td>
|
||||
|
||||
<td><b>ON</b></td>
|
||||
|
||||
<td>Switch on stereo. </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td></td>
|
||||
|
||||
<td><b>OFF</b></td>
|
||||
|
||||
<td>Switch off stereo. </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td></td>
|
||||
|
||||
<td><b>ANAGLYPHIC</b></td>
|
||||
|
||||
<td>Switch on ANAGLYPHIC stereo. </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td></td>
|
||||
|
||||
<td><b>QUAD_BUFFER</b></td>
|
||||
|
||||
<td>Switch on QUAD_BUFFER stereo. </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td></td>
|
||||
|
||||
<td><b>VERTICAL_SPLIT</b></td>
|
||||
|
||||
<td>Switch on VERTICAL_SPLIT stereo. </td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td></td>
|
||||
|
||||
<td><b>HORIZONTAL_SPLIT</b></td>
|
||||
|
||||
<td>Switch on VERTICAL_SPLIT stereo. </td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<hr>
|
||||
<h3>
|
||||
Examples:</h3>
|
||||
To invoke stereo from the comandline:
|
||||
<br><b> sgv -stereo cow.osg</b>
|
||||
<p>To invoke quad buffered stereo from the commandline:
|
||||
<br><b> sgv -stereo QUAD_BUFFER cow.osg</b>
|
||||
<p>To force all apps to start up in quad buffered stereo (if system supports
|
||||
it) <br>
|
||||
<b> export OSG_STEREO=ON</b><br>
|
||||
<b> export OSG_STEREO_MODE=QUAD_BUFFER</b><br>
|
||||
<b> sgv cow.osg</b></p>
|
||||
<p>To set quad buffered stereo to the default, but use the commandline to
|
||||
switch stereo on: <br>
|
||||
<b> export OSG_STEREO=OFF</b><br>
|
||||
<b> export OSG_STEREO_MODE=QUAD_BUFFER</b><br>
|
||||
<b> sgv -stereo cow.osg</b><br>
|
||||
</p>
|
||||
|
||||
it)
|
||||
<br><b> export OSG_STEREO=ON</b>
|
||||
<br><b> export OSG_STEREO_MODE=QUAD_BUFFER</b>
|
||||
<br><b> sgv cow.osg</b>
|
||||
<p>To set quad buffered stereo to the default, but use the commandline
|
||||
to switch stereo on:
|
||||
<br><b> export OSG_STEREO=OFF</b>
|
||||
<br><b> export OSG_STEREO_MODE=QUAD_BUFFER</b>
|
||||
<br><b> sgv -stereo cow.osg</b>
|
||||
<p>
|
||||
<hr>
|
||||
|
||||
<h3> Size matters:</h3>
|
||||
<p>For appropriate depth perception the stereo code creates separate left
|
||||
<h3>
|
||||
Size matters:</h3>
|
||||
For appropriate depth perception the stereo code creates separate left
|
||||
and eye views, both the frustum and modelview are shifted to account for
|
||||
the separate eye views. To achieve the right amount of adjustment the
|
||||
OSG requires the users eye separation, the distance from the eyes to the screen
|
||||
and the height of the screen. The OSG will use the defaults of 0.05m,0.5m
|
||||
and 0.26m respectively which are assumed to be reasonable defaults for most
|
||||
users workstation configurations, note the OSG_SCREEN_HEIGHT is the image
|
||||
height rather than total size of your monitor/display surface. For
|
||||
the best stereo effects please measure these values and set them up via the
|
||||
environmental variables. Once set the views you get should give improved
|
||||
depth perception. A good way of measuring how well you are configured
|
||||
for your display is to fly away from objects (using the FlightManipulator
|
||||
for instance, but not the TrackballManipulator, see below) so that they
|
||||
go of toward infinity. As they move away the offset between the two images
|
||||
should tend towards your eye separation, if you achieve this then the object
|
||||
will be perceived as at infinity.</p>
|
||||
|
||||
the separate eye views. To achieve the right amount of adjustment
|
||||
the OSG requires the users eye separation, the distance from the eyes to
|
||||
the screen and the height of the screen. The OSG will use the defaults
|
||||
of 0.05m,0.5m and 0.26m respectively which are assumed to be reasonable
|
||||
defaults for most users workstation configurations, note the OSG_SCREEN_HEIGHT
|
||||
is the image height rather than total size of your monitor/display surface.
|
||||
For the best stereo effects please measure these values and set them up
|
||||
via the environmental variables. Once set the views you get should
|
||||
give improved depth perception. A good way of measuring how well
|
||||
you are configured for your display is to fly away from objects (using
|
||||
the FlightManipulator for instance, but not the TrackballManipulator, see
|
||||
below) so that they go of toward infinity. As they move away the offset
|
||||
between the two images should tend towards your eye separation, if you
|
||||
achieve this then the object will be perceived as at infinity.
|
||||
<br>
|
||||
<hr>
|
||||
|
||||
<h3> Camera Manipulator Modes:</h3>
|
||||
<p>There are three osgUtil::CameraManipulator's which come with osgUtil,
|
||||
which operate as a Trackball, Drive and Flight modes of interaction (see
|
||||
sgv.html for how to invoke them in the scene graph viewer). The osgUtil::Trackball
|
||||
<h3>
|
||||
Camera Manipulator Modes:</h3>
|
||||
There are three osgUtil::CameraManipulator's which come with osgUtil, which
|
||||
operate as a Trackball, Drive and Flight modes of interaction (see sgv.html
|
||||
for how to invoke them in the scene graph viewer). The osgUtil::Trackball
|
||||
Manipulator automatically scales the fusion distance to that which will
|
||||
fusion on center point of rotation - this will appear at the middle of the
|
||||
monitor at the monitors depth. Whereas, the osgUtil::DriveManipualtor, osgUtil::FlightManipulator
|
||||
scale the fusion distance to the distance the viewer is from the screen,
|
||||
the results in a perception that the virtual world is scaled to physical
|
||||
world, this is clearly better for simulators and alike. You can control
|
||||
the fusion of the image in these two modes via the osg::Camera::setFusionDistanceMode(FusionDistanceMode
|
||||
mode) where mode can be osg::Camera::PROPORTIONAL_TO_LOOK_DISTANCE (used
|
||||
by Trackball) or osg::Camera::PROPORTIONAL_TO_SCREEN_DISTANCE (used by
|
||||
Drive and Flight), and osg::Camera::setFusionDistanceRatio(float). See
|
||||
include/osg/Camera for further details, and the camera manipulators for
|
||||
implementation details. The fusion distance ratio defaults to 1.0 but
|
||||
can be biased to move objects out or into screen, they will also appear
|
||||
to get smaller and larger respectively. The camera manipulators allow
|
||||
the user to alter this value at runtime via the '+' and '-' keys.</p>
|
||||
|
||||
|
||||
fusion on center point of rotation - this will appear at the middle of
|
||||
the monitor at the monitors depth. Whereas, the osgUtil::DriveManipualtor,
|
||||
osgUtil::FlightManipulator scale the fusion distance to the distance the
|
||||
viewer is from the screen, the results in a perception that the virtual
|
||||
world is scaled to physical world, this is clearly better for simulators
|
||||
and alike. You can control the fusion of the image in these two modes via
|
||||
the osg::Camera::setFusionDistanceMode(FusionDistanceMode mode) where mode
|
||||
can be osg::Camera::PROPORTIONAL_TO_LOOK_DISTANCE (used by Trackball) or
|
||||
osg::Camera::PROPORTIONAL_TO_SCREEN_DISTANCE (used by Drive and Flight),
|
||||
and osg::Camera::setFusionDistanceRatio(float). See include/osg/Camera
|
||||
for further details, and the camera manipulators for implementation details.
|
||||
The fusion distance ratio defaults to 1.0 but can be biased to move objects
|
||||
out or into screen, they will also appear to get smaller and larger respectively.
|
||||
The camera manipulators allow the user to alter this value at runtime via
|
||||
the '+' and '-' keys.
|
||||
</body>
|
||||
</html>
|
||||
|
139
index.html
139
index.html
@ -1,84 +1,107 @@
|
||||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
||||
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
||||
<meta name="GENERATOR" content="Mozilla/4.75C-SGI [en] (X11; I; IRIX64 6.5 IP27) [Netscape]">
|
||||
<meta name="GENERATOR" content="Mozilla/4.77 [en] (X11; U; Linux 2.4.3-20mdk i686) [Netscape]">
|
||||
<title>Documentionn Index</title>
|
||||
</head>
|
||||
<body text="#000000" bgcolor="#FFFFFF" link="#0000EE" vlink="#551A8B" alink="#FF0000">
|
||||
|
||||
<img SRC="doc/images/OpenSceneGraphBanner_Distribution.jpg" height=77 width=640>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td><a href="doc/index.html">Index</a> </td>
|
||||
<td><a href="doc/introduction.html">Introduction</a> </td>
|
||||
<td><a href="doc/contents.html">Contents</a> </td>
|
||||
<td><a href="doc/install.html">Install</a> </td>
|
||||
<td><a href="doc/dependencies.html">Dependencies</a> </td>
|
||||
<td><a href="doc/demos.html">Demos</a> </td>
|
||||
<td><a href="doc/data.html">Data</a> </td>
|
||||
<td><a href="doc/sgv.html">Viewer</a> </td>
|
||||
<td><a href="doc/stereo.html">Stereo</a> </td>
|
||||
<td><a href="doc/plan.html">Plan</a> </td>
|
||||
<td><a href="doc/documentation.html">Reference Guides</a> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="doc/index.html">Index</a></td>
|
||||
|
||||
<td><a href="doc/introduction.html">Introduction</a></td>
|
||||
|
||||
<td><a href="doc/contents.html">Contents</a></td>
|
||||
|
||||
<td><a href="doc/install.html">Install</a></td>
|
||||
|
||||
<td><a href="doc/dependencies.html">Dependencies</a></td>
|
||||
|
||||
<td><a href="doc/demos.html">Demos</a></td>
|
||||
|
||||
<td><a href="doc/data.html">Data</a></td>
|
||||
|
||||
<td><a href="doc/sgv.html">Viewer</a></td>
|
||||
|
||||
<td><a href="doc/stereo.html">Stereo</a></td>
|
||||
|
||||
<td><a href="doc/plan.html">Plan</a></td>
|
||||
|
||||
<td><a href="doc/documentation.html">Reference Guides</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<h2>
|
||||
<u>Index</u></b></h2>
|
||||
<u>Index</u></h2>
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td><a href="doc/introduction.html">Introduction</a> </td>
|
||||
<td>Introduction to Scene Graph in general, the OpenSceneGraph project itself and how to use it.</td>
|
||||
</td>
|
||||
<tr>
|
||||
<td><a href="doc/introduction.html">Introduction</a></td>
|
||||
|
||||
<tr>
|
||||
<td><a href="doc/contents.html">Contents</a> </td>
|
||||
<td>A list of the directories in the distribution.</td>
|
||||
</td>
|
||||
<td>Introduction to Scene Graph in general, the OpenSceneGraph project
|
||||
itself and how to use it.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a href="doc/install.html">Install</a> </td>
|
||||
<td>A guide of how to compile and install on all the supported platforms.</td>
|
||||
</td>
|
||||
<tr>
|
||||
<td><a href="doc/contents.html">Contents</a></td>
|
||||
|
||||
<tr>
|
||||
<td><a href="doc/dependencies.html">Dependencies</a> </td>
|
||||
<td>Listing of all the dependancies of the project, with links of where to download them.</td>
|
||||
</td>
|
||||
<td>A list of the directories in the distribution.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a href="doc/demos.html">Demos</a> </td>
|
||||
<td>Thumbnails and info on all the demo applications which come with this distribution.</td>
|
||||
</td>
|
||||
<tr>
|
||||
<td><a href="doc/install.html">Install</a></td>
|
||||
|
||||
<tr>
|
||||
<td><a href="doc/data.html">Data</a> </td>
|
||||
<td>List of websites where one can download interesting and useful data from.</td>
|
||||
</td>
|
||||
<td>A guide of how to compile and install on all the supported platforms.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a href="doc/sgv.html">Viewer</a> </td>
|
||||
<td>List of key bindings support by the osgGLUT::Viewer and hence sgv and the rest of demos.</td>
|
||||
</td>
|
||||
<tr>
|
||||
<td><a href="doc/dependencies.html">Dependencies</a></td>
|
||||
|
||||
<tr>
|
||||
<td><a href="doc/stereo.html">Stereo</a> </td>
|
||||
<td>Documentation on the commandline paramters and environmential variables which control stereo.</td>
|
||||
</td>
|
||||
<td>Listing of all the dependencies of the project, with links of where
|
||||
to download them.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a href="doc/plan.html">Plan</a> </td>
|
||||
<td>Details of development plans.</td>
|
||||
</td>
|
||||
<tr>
|
||||
<td><a href="doc/demos.html">Demos</a></td>
|
||||
|
||||
<tr>
|
||||
<td><a href="doc/documentation.html">Reference Guides</a> </td>
|
||||
<td>Reference guides of the core libraries.</td>
|
||||
</td>
|
||||
<td>Thumbnails and info on all the demo applications which come with this
|
||||
distribution.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a href="doc/data.html">Data</a></td>
|
||||
|
||||
<td>List of websites where one can download interesting and useful data
|
||||
from.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a href="doc/sgv.html">Viewer</a></td>
|
||||
|
||||
<td>List of key bindings support by the osgGLUT::Viewer and hence sgv and
|
||||
the rest of demos.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a href="doc/stereo.html">Stereo</a></td>
|
||||
|
||||
<td>Documentation on the commandline parameters and environmental variables
|
||||
which control stereo.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a href="doc/plan.html">Plan</a></td>
|
||||
|
||||
<td>Details of development plans.</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a href="doc/documentation.html">Reference Guides</a></td>
|
||||
|
||||
<td>Reference guides of the core libraries.</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
</body>
|
||||
|
Loading…
Reference in New Issue
Block a user