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.
|
file listing coarse grained changes between releases.
|
||||||
<br><tt><a href="../ChangeLog">ChangeLog</a> </tt>text file listing
|
<br><tt><a href="../ChangeLog">ChangeLog</a> </tt>text file listing
|
||||||
fine grained changes between releases.
|
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><a href="../Makefile">Makefile</a> </tt>Unix makefile.
|
||||||
<br><tt>index.html </tt>This file!</blockquote>
|
<br><tt>index.html </tt>This file!</blockquote>
|
||||||
|
|
||||||
|
230
doc/demos.html
230
doc/demos.html
@ -2,161 +2,207 @@
|
|||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
<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>
|
<title>Demos</title>
|
||||||
</head>
|
</head>
|
||||||
<body text="#000000" bgcolor="#FFFFFF" link="#0000FF" vlink="#990066" alink="#FF0000">
|
<body text="#000000" bgcolor="#FFFFFF" link="#0000FF" vlink="#990066" alink="#FF0000">
|
||||||
<img SRC="images/OpenSceneGraphBanner_Distribution.jpg" height=77 width=640>
|
<img SRC="images/OpenSceneGraphBanner_Distribution.jpg" height=77 width=640>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="index.html">Index</a></td>
|
<td><a href="index.html">Index</a></td>
|
||||||
|
|
||||||
<td><a href="introduction.html">Introduction</a></td>
|
<td><a href="introduction.html">Introduction</a></td>
|
||||||
|
|
||||||
<td><a href="contents.html">Contents</a></td>
|
<td><a href="contents.html">Contents</a></td>
|
||||||
|
|
||||||
<td><a href="install.html">Install</a></td>
|
<td><a href="install.html">Install</a></td>
|
||||||
|
|
||||||
<td><a href="dependencies.html">Dependencies</a></td>
|
<td><a href="dependencies.html">Dependencies</a></td>
|
||||||
|
|
||||||
<td><a href="demos.html">Demos</a></td>
|
<td><a href="demos.html">Demos</a></td>
|
||||||
|
|
||||||
<td><a href="data.html">Data</a></td>
|
<td><a href="data.html">Data</a></td>
|
||||||
|
|
||||||
<td><a href="sgv.html">Viewer</a></td>
|
<td><a href="sgv.html">Viewer</a></td>
|
||||||
|
|
||||||
<td><a href="stereo.html">Stereo</a></td>
|
<td><a href="stereo.html">Stereo</a></td>
|
||||||
|
|
||||||
<td><a href="plan.html">Plan</a></td>
|
<td><a href="plan.html">Plan</a></td>
|
||||||
|
|
||||||
<td><a href="documentation.html">Reference Guides</a></td>
|
<td><a href="documentation.html">Reference Guides</a></td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<h2>
|
<h2>
|
||||||
<a NAME="Running the demos"></a><u>Running the demos</u></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
|
||||||
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
|
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.
|
environmental variables, and then download the <a href="data.html">demo
|
||||||
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
|
data</a> and set the <b>OSG_FILE_PATH</b> so that the file loading can
|
||||||
everything is in easy reach.
|
locate the datasets. It is probably worth setting you autoexec.bat, .bashrc
|
||||||
</p>
|
or.tcsh etc to pick up on these settings so that next time you log in everything
|
||||||
<li>Windows:</li>
|
is in easy reach.
|
||||||
<ul>
|
<li>
|
||||||
<b>set PATH = C:/all/the/exisitng/paths;C:/OpenSceneGraph/bin</b>
|
Windows:</li>
|
||||||
<br><b>set OSG_FILE_PATH = C:/OpenSceneGraph-Data;C:/OpenSceneGraph-Data/Images;C:/OpenSceneGraph-Data/Fonts</b>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
</p>
|
<ul><b>set PATH = C:/all/the/exisitng/paths;C:/OpenSceneGraph/bin</b>
|
||||||
<li>Unix</li>
|
<br><b>set OSG_FILE_PATH = C:/OpenSceneGraph-Data;C:/OpenSceneGraph-Data/Images;C:/OpenSceneGraph-Data/Fonts</b></ul>
|
||||||
<ul>
|
|
||||||
<b>export PATH = ${PATH}:/home/myaccount/OpenSceneGraph/bin</b>
|
<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 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><b>export OSG_FILE_PATH = /home/myaccount/OpenSceneGraph-Data:C:/OpenSceneGraph-Data/Images:C:/OpenSceneGraph-Data/Fonts</b>
|
||||||
<br>or
|
<br>or
|
||||||
<br><b>setenv PATH ${PATH}:/home/myaccount/OpenSceneGraph/bin</b>
|
<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 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>
|
<br><b>setenv OSG_FILE_PATH /home/myaccount/OpenSceneGraph-Data:C:/OpenSceneGraph-Data/Images:C:/OpenSceneGraph-Data/Fonts</b></ul>
|
||||||
</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
|
||||||
<p>
|
it will either run, or provide help on what options it accepts.
|
||||||
All the demos run on the commandline, most requiring parameters, such as what file to load, if you are in any doubt
|
<br>
|
||||||
just run the application and it will either run, or provide help on what options it accepts.
|
|
||||||
</p>
|
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="sgv.html"><img src="images/sgv_cow.jpg" width=128 height=100 border=0></a> </td>
|
<td><a href="sgv.html"><img SRC="images/sgv_cow.jpg" BORDER=0 height=100 width=128></a></td>
|
||||||
|
|
||||||
<td><b>sgv cow.osg</b></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
|
<td>The scene graph viewer demo uses osgGLUT::Viewer to bring up a basic
|
||||||
run sgv filename.ext. The osgGLUT::Viewer provides an extensive set of operations that can be
|
viewer. To find out what command line arguments it takes simply run sgv
|
||||||
used to display information about the loaded database such as peformance stas, through to
|
without any arguments. To load a model simple run sgv filename.ext. The
|
||||||
output a snapshot of the screen, which is how these thumbnails were created. For a full list
|
osgGLUT::Viewer provides an extensive set of operations that can be used
|
||||||
of key presses and mouse interaction read the <a href="sgv.html">sgv</a> documentaion.</td>
|
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>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="stereo.html"><img src="images/sgv_stereo.jpg" width=128 height=100 border=0></a> </td>
|
<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><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>
|
<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>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td><img src="images/hangglide.jpg" width=128 height=100 border=0> </td>
|
<td><img SRC="images/hangglide.jpg" BORDER=0 height=100 width=128></td>
|
||||||
|
|
||||||
<td><b>hangglide</b></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
|
<td>The hang glide demo creates a simple flying site (Don Burns local hang
|
||||||
flight camera manipulator to allow the user to fly around.
|
glide site in fact!), demonstrating how to create simple terrain, trees
|
||||||
</td>
|
and skydomes, and how to implement a simple flight camera manipulator to
|
||||||
|
allow the user to fly around. </td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td><img src="images/osgbillboard.jpg" width=128 height=100 border=0> </td>
|
<td><img SRC="images/osgbillboard.jpg" BORDER=0 height=100 width=128></td>
|
||||||
|
|
||||||
<td><b>osgbillboard lz.rgb</b></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>Demonstrates how to create the various types of billboard supported
|
||||||
</td>
|
by the OpenSceneGraph. Billboards are typically used for trees or particles
|
||||||
|
effects. </td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td><img src="images/osgcube.jpg" width=128 height=100 border=0> </td>
|
<td><img SRC="images/osgcube.jpg" BORDER=0 height=100 width=128></td>
|
||||||
|
|
||||||
<td><b>osgcube</b></td>
|
<td><b>osgcube</b></td>
|
||||||
<td>Simplest of all demos, create a cube geometry and spin it!
|
|
||||||
</td>
|
<td>Simplest of all demos, create a cube geometry and spin it! </td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td><img src="images/osghud.jpg" width=128 height=100 border=0> </td>
|
<td><img SRC="images/osghud.jpg" BORDER=0 height=100 width=128></td>
|
||||||
|
|
||||||
<td><b>osghud glider.osg</b></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>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>
|
.</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td><img src="images/osgimpostor.jpg" width=128 height=100 border=0> </td>
|
<td><img SRC="images/osgscribe.jpg" BORDER=0 height=100 width=128></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><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
|
<td>An example of how to decorate your scene graph geometry for useful
|
||||||
second instance override the polygmode to render it as wireframe, and with a polyon offset to ensure it
|
effects such as scribing. This demo uses two instances of your model, the
|
||||||
is seen from all angles. These two instance are grouped together and then are treated like any other
|
first one uses the state values set in your scene graph, the second instance
|
||||||
scene graph.
|
override the polygmode to render it as wireframe, and with a polygon offset
|
||||||
</td>
|
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>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td><img src="images/osgstereoimage.jpg" width=128 height=100 border=0> </td>
|
<td><img SRC="images/osgstereoimage.jpg" BORDER=0 height=100 width=128></td>
|
||||||
|
|
||||||
<td><b>osgstereoimage left.rgb right.rgb</b></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
|
<td>An example of use node maks to select different parts of the scene
|
||||||
images!
|
graph for different traversals, in this case two separate images are drawn
|
||||||
.</td>
|
for the left and right eyes to generate a stereo 3D image from two flat
|
||||||
|
images! .</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td><img src="images/osgtext.jpg" width=128 height=100 border=0> </td>
|
<td><img SRC="images/osgtext.jpg" BORDER=0 height=100 width=128></td>
|
||||||
|
|
||||||
<td><b>osgtext</b></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>
|
<td>An example showing how to creating the various different typs of text
|
||||||
|
that the osgText library supports. </td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td><img src="images/osgtexture.jpg" width=128 height=100 border=0> </td>
|
<td><img SRC="images/osgtexture.jpg" BORDER=0 height=100 width=128></td>
|
||||||
|
|
||||||
<td><b>osgtexture lz.rgb reflect.rgb</b></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>An example showing how to creating the textured quads, each with different
|
||||||
</td>
|
texture parameters, including anisotrophic filtering and texture compression! </td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td><img src="images/osgviews.jpg" width=128 height=100 border=0> </td>
|
<td><img SRC="images/osgviews.jpg" BORDER=0 height=100 width=128></td>
|
||||||
|
|
||||||
<td><b>osgviews.cow.osg</b></td>
|
<td><b>osgviews.cow.osg</b></td>
|
||||||
<td>An example of multiple viewports all running at once.
|
|
||||||
</td>
|
<td>An example of multiple viewports all running at once. </td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
|
@ -2,157 +2,171 @@
|
|||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
<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>
|
<title>Compilation dependencies</title>
|
||||||
</head>
|
</head>
|
||||||
<body text="#000000" bgcolor="#FFFFFF" link="#0000FF" vlink="#990066" alink="#FF0000">
|
<body text="#000000" bgcolor="#FFFFFF" link="#0000FF" vlink="#990066" alink="#FF0000">
|
||||||
<img SRC="images/OpenSceneGraphBanner_Distribution.jpg" height=77 width=640>
|
<img SRC="images/OpenSceneGraphBanner_Distribution.jpg" height=77 width=640>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="index.html">Index</a></td>
|
<td><a href="index.html">Index</a></td>
|
||||||
|
|
||||||
<td><a href="introduction.html">Introduction</a></td>
|
<td><a href="introduction.html">Introduction</a></td>
|
||||||
|
|
||||||
<td><a href="contents.html">Contents</a></td>
|
<td><a href="contents.html">Contents</a></td>
|
||||||
|
|
||||||
<td><a href="install.html">Install</a></td>
|
<td><a href="install.html">Install</a></td>
|
||||||
|
|
||||||
<td><a href="dependencies.html">Dependencies</a></td>
|
<td><a href="dependencies.html">Dependencies</a></td>
|
||||||
|
|
||||||
<td><a href="demos.html">Demos</a></td>
|
<td><a href="demos.html">Demos</a></td>
|
||||||
|
|
||||||
<td><a href="data.html">Data</a></td>
|
<td><a href="data.html">Data</a></td>
|
||||||
|
|
||||||
<td><a href="sgv.html">Viewer</a></td>
|
<td><a href="sgv.html">Viewer</a></td>
|
||||||
|
|
||||||
<td><a href="stereo.html">Stereo</a></td>
|
<td><a href="stereo.html">Stereo</a></td>
|
||||||
|
|
||||||
<td><a href="plan.html">Plan</a></td>
|
<td><a href="plan.html">Plan</a></td>
|
||||||
|
|
||||||
<td><a href="documentation.html">Reference Guides</a></td>
|
<td><a href="documentation.html">Reference Guides</a></td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<h2>
|
<h2>
|
||||||
<a NAME="Scene graph dependencies"></a><u>Scene graph dependencies</u></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
|
The OpenSceneGraph is composed of core scene graph libraries, plugins libraries
|
||||||
graph libraries (osg, osgDB, osgUtil) are only dependant upon OpenGL and Standard C++ so should compile straight out of
|
and demo programs. The core scene graph libraries (osg, osgDB, osgUtil)
|
||||||
the box on most systems. To run the demos one will also need to compile osgGLUT which adds the dependancy of GLUT, and
|
are only dependent upon OpenGL and Standard C++ so should compile straight
|
||||||
if true type text is required then the freetype library will be required. The plugins which are used to read and write
|
out of the box on most systems. To run the demos one will also need to
|
||||||
various file formats have their own sets of dependancies listed below, some have no dependancies at all. A plugin
|
compile osgGLUT which adds the dependency of GLUT, and if true type text
|
||||||
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
|
is required then the freetype library will be required. The plugins which
|
||||||
dependencies.
|
are used to read and write various file formats have their own sets of
|
||||||
</p>
|
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>
|
<hr>
|
||||||
|
|
||||||
<h3>
|
<h3>
|
||||||
<a NAME="Windows dependency arhives"></a><u>Windows dependency archives</u></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
|
To make life easier for Windows users, we have put together a .zip archives
|
||||||
which can be download and installed somewhere in you system. You'll need to set VisualStudio to pick up on the
|
with all the required dependencies which can be download and installed
|
||||||
include and libs, and the PATH set to pick up in the dll's. Alternatively, a more hacky but simpler solution is
|
somewhere in you system. You'll need to set VisualStudio to pick up on
|
||||||
to unpack this archive inside you OpenSceneGraph distribution, so that all the include files drop into
|
the include and libs, and the PATH set to pick up in the dll's. Alternatively,
|
||||||
OpenSceneGraph/include, and the libs drop into OpenSceneGraph/lib, and all the dll's drop into OpenSceneGraph/bin,
|
a more hacky but simpler solution is to unpack this archive inside you
|
||||||
this way VisualStudio will pick up the files simpler through the paths set up inside the workspace and project
|
OpenSceneGraph distribution, so that all the include files drop into OpenSceneGraph/include,
|
||||||
files. The archives can be downloaded here: . .
|
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>
|
<ul>
|
||||||
<li>freetype, libpng, libungif, libtiff, libjpeg & zlib includes, libs and dll.</li>
|
<li>
|
||||||
<ul><i><a href="http://www.openscenegraph.org/download/dependencies/OsgWin32Dependencies.zip">
|
freetype, libpng, libungif, libtiff, libjpeg & zlib includes, libs
|
||||||
http://www.openscenegraph.org/download/dependencies/OsgWin32Dependencies.zip</a></i></ul>
|
and dll.</li>
|
||||||
<br>
|
|
||||||
<li>GLUT include, lib 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>
|
||||||
<ul><i><a href="http://www.openscenegraph.org/download/dependencies/Win32Glut.zip">
|
|
||||||
http://www.openscenegraph.org/download/dependencies/OsgWin32Glut.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>
|
</ul>
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
|
|
||||||
<h3>
|
<h3>
|
||||||
<a NAME="Core library dependencies"></a><u>Core library dependencies</u></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>
|
||||||
<ul><i><a href="http://www.opengl.org/developers/documentation/glut/index.html">
|
<li>
|
||||||
http://www.opengl.org/developers/documentation/glut/index.html</a></i></ul></ul>
|
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>
|
<hr>
|
||||||
<h3>
|
<h3>
|
||||||
<a NAME="Plug-in dependencies"></a><u>Plug-in dependencies</u></h3>
|
<a NAME="Plug-in dependencies"></a><u>Plug-in dependencies</u></h3>
|
||||||
<p>
|
Follows is the list of dependencies which some of the osgPlugins require,
|
||||||
Follows is the list of depedencies which some of the osgPlugins require,
|
|
||||||
note the core osg and viewer do not need the following dependencies, you
|
note the core osg and viewer do not need the following dependencies, you
|
||||||
only need the following if you require each specific plugin. Note,
|
only need the following if you require each specific plugin. Note, the
|
||||||
the flt, 3ds, pic, tga, do not have any dependencies other than Standard
|
flt, 3ds, pic, tga, do not have any dependencies other than Standard C++
|
||||||
C++ so will compile straight of the bag. Under Linux the majority
|
so will compile straight of the bag. Under Linux the majority of the dependencies
|
||||||
of the depedancies below come as standard with distributions so you may not need to download them at all.
|
below come as standard with distributions so you may not need to download
|
||||||
Its best to try out a straight compile of the osg, if you get missing includes/libs
|
them at all. Its best to try out a straight compile of the osg, if you
|
||||||
errors then chase up the below.
|
get missing includes/libs errors then chase up the below.
|
||||||
</p>
|
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
src/osgPlugins/pfb</li>
|
src/osgPlugins/pfb</li>
|
||||||
|
|
||||||
<br>There is a Performer plugin in this distribution for converting from
|
<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 OSG and from OSG to Performer. This plugin requires Performer
|
||||||
Performer to be installed and therefore is not compiled by default. If
|
to be installed and therefore is not compiled by default. If you have Performer
|
||||||
you have Performer (available under Linux and IRIX) then edit src/osgPlugins/Make
|
(available under Linux and IRIX) then edit src/osgPlugins/Make to compile
|
||||||
to compile under the plugin. Performer can be downloaded from :
|
under the plugin. Performer can be downloaded from :
|
||||||
<ul><i><a href="http://www.sgi.com/">http://www.sgi.com/</a></i>
|
<ul><i><a href="http://www.sgi.com/">http://www.sgi.com/</a></i></ul>
|
||||||
<i><a href="http://www.sgi.com/"></a></i></ul>
|
|
||||||
|
|
||||||
|
<li>
|
||||||
<br><li>src/osgPlugins/png</li>
|
src/osgPlugins/png</li>
|
||||||
|
|
||||||
<br>The png plugin depends upon the libpng and zlib (for compression) libraries,
|
<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
|
if you don't already have it installed, you'll need to download, compile
|
||||||
and install it. Project home pages are:
|
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>
|
<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>
|
<br><i><a href="http://www.info-zip.org/pub/infozip/zlib/">http://www.info-zip.org/pub/infozip/zlib/</a></i></ul>
|
||||||
<i><a href="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
|
<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
|
have it installed, you'll need to download, compile and install it. Project
|
||||||
home page is:
|
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>
|
<ul><i><a href="http://prtr-13.ucsc.edu/~badger/software/libungif/">http://prtr-13.ucsc.edu/~badger/software/libungif/</a></i></ul>
|
||||||
<br><i><a href="http://prtr-13.ucsc.edu/~badger/software/libungif/"></a></i></ul>
|
|
||||||
Ftp download at :
|
Ftp download at :
|
||||||
<ul><i><a href="ftp://prtr-13.ucsc.edu/pub/libungif/">ftp://prtr-13.ucsc.edu/pub/libungif/</a></i>
|
<ul><i><a href="ftp://prtr-13.ucsc.edu/pub/libungif/">ftp://prtr-13.ucsc.edu/pub/libungif/</a></i></ul>
|
||||||
<i><a href="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
|
<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
|
have it installed, you'll need to download, compile and install it. Project
|
||||||
home page is:
|
home page is:
|
||||||
<ul><i><a href="http://www.ijg.org/">http://www.ijg.org/</a></i>
|
<ul><i><a href="http://www.ijg.org/">http://www.ijg.org/</a></i></ul>
|
||||||
<i><a href="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
|
<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
|
have it installed, you'll need to download, compile and install it. Project
|
||||||
home page is:
|
home page is:
|
||||||
<ul><i><a href="http://www.libtiff.org">http://www.libtiff.org</a></i>
|
<ul><i><a href="http://www.libtiff.org">http://www.libtiff.org</a></i></ul>
|
||||||
<i><a href="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
|
<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
|
being available on your system. If it is not then you'll be able to find
|
||||||
to find binaries at:
|
binaries at:
|
||||||
<ul><i><a href="http://www.freesoftware.com/pub/infozip/">http://www.freesoftware.com/pub/infozip/</a></i>
|
<ul><i><a href="http://www.freesoftware.com/pub/infozip/">http://www.freesoftware.com/pub/infozip/</a></i></ul>
|
||||||
<i><a href="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
|
<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
|
being available on your system. If it is not then you'll be able to find
|
||||||
to find binaries at:
|
binaries at:
|
||||||
<ul><i><a href="http://www.gzip.org/">http://www.gzip.org/</a></i>
|
<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>
|
<br><a href="ftp://prep.ai.mit.edu/pub/gnu/tar/">ftp://prep.ai.mit.edu/pub/gnu/tar/</a></ul>
|
||||||
<a href="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>
|
<br>Has the same dependencies as the tgz plugin above.</ul>
|
||||||
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -2,83 +2,106 @@
|
|||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
<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>
|
<title>OSG Documentation</title>
|
||||||
</head>
|
</head>
|
||||||
<body text="#000000" bgcolor="#FFFFFF" link="#0000EE" vlink="#551A8B" alink="#FF0000">
|
<body text="#000000" bgcolor="#FFFFFF" link="#0000EE" vlink="#551A8B" alink="#FF0000">
|
||||||
|
|
||||||
<img SRC="images/OpenSceneGraphBanner_Distribution.jpg" height=77 width=640>
|
<img SRC="images/OpenSceneGraphBanner_Distribution.jpg" height=77 width=640>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="index.html">Index</a></td>
|
<td><a href="index.html">Index</a></td>
|
||||||
|
|
||||||
<td><a href="introduction.html">Introduction</a></td>
|
<td><a href="introduction.html">Introduction</a></td>
|
||||||
|
|
||||||
<td><a href="contents.html">Contents</a></td>
|
<td><a href="contents.html">Contents</a></td>
|
||||||
|
|
||||||
<td><a href="install.html">Install</a></td>
|
<td><a href="install.html">Install</a></td>
|
||||||
|
|
||||||
<td><a href="dependencies.html">Dependencies</a></td>
|
<td><a href="dependencies.html">Dependencies</a></td>
|
||||||
|
|
||||||
<td><a href="demos.html">Demos</a></td>
|
<td><a href="demos.html">Demos</a></td>
|
||||||
|
|
||||||
<td><a href="data.html">Data</a></td>
|
<td><a href="data.html">Data</a></td>
|
||||||
|
|
||||||
<td><a href="sgv.html">Viewer</a></td>
|
<td><a href="sgv.html">Viewer</a></td>
|
||||||
|
|
||||||
<td><a href="stereo.html">Stereo</a></td>
|
<td><a href="stereo.html">Stereo</a></td>
|
||||||
|
|
||||||
<td><a href="plan.html">Plan</a></td>
|
<td><a href="plan.html">Plan</a></td>
|
||||||
|
|
||||||
<td><a href="documentation.html">Reference Guides</a></td>
|
<td><a href="documentation.html">Reference Guides</a></td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<h2>
|
<h2>
|
||||||
<u>Index</u></b></h2>
|
<u>Index</u></h2>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="introduction.html">Introduction</a></td>
|
<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>
|
<td>Introduction to Scene Graph in general, the OpenSceneGraph project
|
||||||
|
itself and how to use it.</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="contents.html">Contents</a></td>
|
<td><a href="contents.html">Contents</a></td>
|
||||||
|
|
||||||
<td>A list of the directories in the distribution.</td>
|
<td>A list of the directories in the distribution.</td>
|
||||||
</td>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="install.html">Install</a></td>
|
<td><a href="install.html">Install</a></td>
|
||||||
|
|
||||||
<td>A guide of how to compile and install on all the supported platforms.</td>
|
<td>A guide of how to compile and install on all the supported platforms.</td>
|
||||||
</td>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="dependencies.html">Dependencies</a></td>
|
<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>Listing of all the dependencies of the project, with links of where
|
||||||
|
to download them.</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="demos.html">Demos</a></td>
|
<td><a href="demos.html">Demos</a></td>
|
||||||
<td>Thumbnails and info on all the demo applications which come with this distribution.</td>
|
|
||||||
</td>
|
<td>Thumbnails and info on all the demo applications which come with this
|
||||||
|
distribution.</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="data.html">Data</a></td>
|
<td><a href="data.html">Data</a></td>
|
||||||
<td>List of websites where one can download interesting and useful data from.</td>
|
|
||||||
</td>
|
<td>List of websites where one can download interesting and useful data
|
||||||
|
from.</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="sgv.html">Viewer</a></td>
|
<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>
|
<td>List of key bindings support by the osgGLUT::Viewer and hence sgv and
|
||||||
|
the rest of demos.</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="stereo.html">Stereo</a></td>
|
<td><a href="stereo.html">Stereo</a></td>
|
||||||
<td>Documentation on the commandline paramters and environmential variables which control stereo.</td>
|
|
||||||
</td>
|
<td>Documentation on the commandline parameters and environmental variables
|
||||||
|
which control stereo.</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="plan.html">Plan</a></td>
|
<td><a href="plan.html">Plan</a></td>
|
||||||
|
|
||||||
<td>Details of development plans.</td>
|
<td>Details of development plans.</td>
|
||||||
</td>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="documentation.html">Reference Guides</a></td>
|
<td><a href="documentation.html">Reference Guides</a></td>
|
||||||
<td>Reference guides of the core libraries.</td>
|
|
||||||
</td>
|
|
||||||
|
|
||||||
|
<td>Reference guides of the core libraries.</td>
|
||||||
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
302
doc/install.html
302
doc/install.html
@ -2,54 +2,55 @@
|
|||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
<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>
|
<title>Installation instructions</title>
|
||||||
</head>
|
</head>
|
||||||
<body text="#000000" bgcolor="#FFFFFF" link="#0000FF" vlink="#990066" alink="#FF0000">
|
<body text="#000000" bgcolor="#FFFFFF" link="#0000FF" vlink="#990066" alink="#FF0000">
|
||||||
<img SRC="images/OpenSceneGraphBanner_Distribution.jpg" height=77 width=640>
|
<img SRC="images/OpenSceneGraphBanner_Distribution.jpg" height=77 width=640>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="index.html">Index</a></td>
|
<td><a href="index.html">Index</a></td>
|
||||||
|
|
||||||
<td><a href="introduction.html">Introduction</a></td>
|
<td><a href="introduction.html">Introduction</a></td>
|
||||||
|
|
||||||
<td><a href="contents.html">Contents</a></td>
|
<td><a href="contents.html">Contents</a></td>
|
||||||
|
|
||||||
<td><a href="install.html">Install</a></td>
|
<td><a href="install.html">Install</a></td>
|
||||||
|
|
||||||
<td><a href="dependencies.html">Dependencies</a></td>
|
<td><a href="dependencies.html">Dependencies</a></td>
|
||||||
|
|
||||||
<td><a href="demos.html">Demos</a></td>
|
<td><a href="demos.html">Demos</a></td>
|
||||||
|
|
||||||
<td><a href="data.html">Data</a></td>
|
<td><a href="data.html">Data</a></td>
|
||||||
|
|
||||||
<td><a href="sgv.html">Viewer</a></td>
|
<td><a href="sgv.html">Viewer</a></td>
|
||||||
|
|
||||||
<td><a href="stereo.html">Stereo</a></td>
|
<td><a href="stereo.html">Stereo</a></td>
|
||||||
|
|
||||||
<td><a href="plan.html">Plan</a></td>
|
<td><a href="plan.html">Plan</a></td>
|
||||||
|
|
||||||
<td><a href="documentation.html">Reference Guides</a></td>
|
<td><a href="documentation.html">Reference Guides</a></td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<h2><u>Compiling and installing the OpenSceneGraph</u></h2>
|
<h2>
|
||||||
|
<u>Compiling and installing the OpenSceneGraph</u></h2>
|
||||||
|
The scene graph depends upon Standard C++, STL and OpenGL so you need a
|
||||||
<p>
|
C++ compiler up to the task and OpenGL or Mesa installed. The viewer depends
|
||||||
The scene graph depends upon Standard C++, STL and OpenGL so you need
|
upon GLUT which you'll need to download and install from the GLUT website.
|
||||||
a C++ compiler up to the task and OpenGL or Mesa installed. The viewer
|
The OSG has it own native ascii file format, and .rgb image reader inbuilt
|
||||||
depends upon GLUT which you'll need to download and install from the GLUT
|
which allows you read the example data with any dependencies other than
|
||||||
website. The OSG has it own native ascii file format, and .rgb image reader
|
C++, STL and OpenGL.
|
||||||
inbuilt which allows you read the example data with any dependencies other
|
<p>The osgText library adds the dependency of the freetype library for
|
||||||
than C++, STL and OpenGL.
|
support of true type fonts, however it is not essential to the core library,
|
||||||
</p>
|
so you can comment it out from compilation by modifying the src/Makefile,
|
||||||
|
|
||||||
<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
|
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
|
from www.freetype.org. The osgText library also requires an up to date
|
||||||
GLU implementation which supports GLU1.2 tessellation routines. If you
|
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
|
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
|
instance the sgi's sample implementation for GLU from the www.opengl.org
|
||||||
website.
|
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,
|
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
|
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
|
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
|
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
|
able to compile all the plug-ins. A full list of dependencies and where
|
||||||
to download the required libraries are listed in the
|
to download the required libraries are listed in the
|
||||||
<i><a href="dependencies.html">
|
<i><a href="dependencies.html">dependencies.html</a></i>
|
||||||
dependencies.html</a></i>
|
<p>If you're coming across the OSG for the first time and want to get started
|
||||||
</p>
|
|
||||||
|
|
||||||
<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
|
quickly, go right ahead and follow the compilation instructions. You can
|
||||||
always later download the libraries which the plug-ins require if you eventually
|
always later download the libraries which the plug-ins require if you eventually
|
||||||
need them.
|
need them.
|
||||||
</p>
|
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="#Compiling under Windows with Visual Studio">Compiling under Windows with Visual Studio</a></li>
|
<li>
|
||||||
<br>
|
<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>
|
<li>
|
||||||
<br>
|
Compiling under Unix (including Mac OSX and Cygwin)</li>
|
||||||
|
|
||||||
<p>
|
<p><br>Building the OSG requires 'gmake', due to the extensive use of gmake
|
||||||
Building the OSG requires 'gmake', due to the extensive use of gmake directives
|
directives in the Makefiles. You can get gmake from here if you don't already
|
||||||
in the Makefiles. You can get gmake from here if you don't already have
|
have it installed: http://www.gnu.org/software/make/
|
||||||
it installed: http://www.gnu.org/software/make/
|
<p>Almost all of the unix compiling is done simply with <b>make; make install</b>
|
||||||
</p>
|
with <b>make help</b> to bring up help. For platform specific details:
|
||||||
|
|
||||||
<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>
|
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="#Cygwin">Cygwin</a></li>
|
<li>
|
||||||
<li><a href="#Linux">Linux</a></li>
|
<a href="#Cygwin">Cygwin</a></li>
|
||||||
<li><a href="#Free BSD">Free BSD</a></li>
|
|
||||||
<li><a href="#Mac OSX">Mac OSX</a></li>
|
<li>
|
||||||
<li><a href="#IRIX">IRIX</a></li>
|
<a href="#Linux">Linux</a></li>
|
||||||
<li><a href="#Solaris">Solaris</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>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
|
|
||||||
<h3>
|
<h3>
|
||||||
<u><a name="Compiling under Windows with Visual Studio">Compiling under Windows with Visual Studio.</a></u></h3>
|
<a NAME="Compiling under Windows with Visual Studio"></a><u>Compiling under
|
||||||
<p>The Microsoft Visual C++ 6.0 workspace file is VisualStudio.dsw located
|
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
|
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
|
with the basic VisualC++6.0, but, and this is a big but, the STL version
|
||||||
comes with VisualC++6.0 is extremely buggy and unable to handle things even
|
which comes with VisualC++6.0 is extremely buggy and unable to handle things
|
||||||
as simple as std::mamp without crashing, even the latest severice packs (which are
|
even as simple as std::mamp without crashing, even the latest service packs
|
||||||
recommended won't fix the STL bugs). This is a problem for the OpenSceneGraph
|
(which are recommended won't fix the STL bugs). This is a problem for the
|
||||||
since it makes proper use of Standard C++. One can struggle on with the MS's
|
OpenSceneGraph since it makes proper use of Standard C++. One can struggle
|
||||||
and expect crashes and optimization disabled, or adopt one of the follwing:
|
on with the MS's and expect crashes and optimization disabled, or adopt
|
||||||
|
one of the following:
|
||||||
<ol>
|
<ol>
|
||||||
<li> Visual Studio .NET </li>
|
<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>
|
Visual Studio .NET</li>
|
||||||
<li> STLport - <a href="http://www.stlport.org">http://www.stlport.org</a></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>
|
</ol>
|
||||||
|
The OSG is composed of a number of scene graph libraries (with Core in
|
||||||
</p>
|
front of the project names), executables (with Demos in front of the project
|
||||||
<p>The OSG is composed of a number of scene graph libraries (with Core in front of the project names),
|
names), and plugins which read and write 3D data formats and 2D image formats.
|
||||||
executables (with Demos in front of the project names), and plugins which read and write 3D data formats
|
To get the OSG running you'll need at least to compile Core osg,osgUtil,osgDB,osgGLUT,
|
||||||
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
|
||||||
osgPlugin dot_osg and Demo sgv. The rest of the libraries and executables are optional and can
|
are optional and can be compiled if you need them, however for simplicity
|
||||||
be compiled if you need them, however for simplicity I would recommend
|
I would recommend doing a batch build of all the libraries and executables
|
||||||
doing a batch build of all the libraries and executables in the distribution,
|
in the distribution, some of the plug-ins which support non native file
|
||||||
some of the plug-ins which support non native file formats may not compile
|
formats may not compile due to dependencies on other libraries (such as
|
||||||
due to dependencies on other libraries (such as libpng), you can ignore
|
libpng), you can ignore these compilation errors unless you need to load
|
||||||
these compilation errors unless you need to load the related file types. To help
|
the related file types. To help the compilation the plugins, osgGLUT and
|
||||||
the compilationon the plugins, osgGLUT and osgText one can download .zip
|
osgText one can download .zip archive will all the dependencies in it.
|
||||||
archive will all the dependancies in it. Further details on this .zip file can
|
Further details on this .zip file can be found in <i><a href="dependencies.html">dependencies.html</a></i>
|
||||||
be found in <i><a href="dependencies.html">dependencies.html</a></i>
|
|
||||||
|
|
||||||
</p>
|
|
||||||
<p>To execute the viewer the file path for the .dll's and .exe, both compiled
|
<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
|
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 your autoexec.bat, its also useful to add the OSGFILEPATH to your autoexec.bat
|
||||||
to help the location of datafiles. For example :
|
to help the location of datafiles. For example :
|
||||||
</p>
|
<p>SET OSGFILEPATH=D:\OpenSceneGraph-Data;D:\OpenSceneGraph-Data\Images
|
||||||
<p>SET OSGFILEPATH=D:\OpenSceneGraph-Data;D:\OpenSceneGraph-Data\Images</p>
|
|
||||||
<br>SET PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;D:\osg-0.8.43\bin;
|
<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
|
<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.
|
download directory.
|
||||||
<h3>
|
<h3>
|
||||||
Using Visual Studio .NET</h3>
|
Using Visual Studio .NET</h3>
|
||||||
<p>
|
Looks like Microsoft have eventually got their act together on the compiler
|
||||||
Looks like Microsoft have eventually got their act together on the compiler front,
|
front, the compiler looks Standard C++ compliant with a solid STL implement,
|
||||||
the compiler looks Standard C++ compilient with a solid STL implement, so this is
|
so this is the recommend route.
|
||||||
the recommend route.</p>
|
|
||||||
<h3>
|
<h3>
|
||||||
Using Dinkumware STL</h3>
|
Using Dinkumware STL</h3>
|
||||||
<p>
|
The basic jist is that you'll need to download their STL implementation,
|
||||||
The basic jist is that you'll need to download their STL implementation, and follow their
|
and follow their instructions of how to force VisualStudio to pick up the
|
||||||
instructions of how toforce VisualStudio to pick up the new STL implementation. More details
|
new STL implementation. More details at <a href="http://www.dinkumware.com/vc_fixes.html">http://www.dinkumware.com/vc_fixes.html</a>.
|
||||||
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
|
||||||
</p>
|
you won't be running at full speed since the build #ifdef's out some important
|
||||||
<p>
|
state optimizations since the basic VisualStudio can't handle it. You can
|
||||||
Once it is installed everything should compile fine and not crash, but you won't be running at full
|
safely remove the #ifdef from src/osgUtil/Otimizer.cpp, Line 44. The #ifdef
|
||||||
speed since the build #odef's out some important state optimizations since the basic VisualStudio
|
is smart enough to do this automatically when using VisualStudio .NET and
|
||||||
can't handle it. You can safely remove the #ifdef from src/osgUtil/Otimizer.cpp, Line 44.
|
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
|
||||||
The #ifdef is smart enough to do this automatically when using VIsualStudio .NET and STLport so that
|
for the #ifdef to pick up on.
|
||||||
modification by hand won't be required. Unfortunately there doesn't seem to be a special define associated
|
<h3>
|
||||||
with the Dinkumware STL for the #ifdef to pick up on.
|
Using STLport</h3>
|
||||||
</p>
|
|
||||||
<h3>Using STLport</h3>
|
|
||||||
</p>
|
|
||||||
The OSG has been tested under Windows with STLport-4.5, which allows the
|
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.
|
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
|
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
|
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
|
is not required because this has not be problematic under Windows, it is
|
||||||
only the container classes and algorithms that need replacing (thanks to
|
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
|
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.
|
no need to compile STLport itself, or link into any special libraries.
|
||||||
To configure STLport simply comment IN (its commented out by default),
|
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
|
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
|
in Visual Studio to pick up on STLport: Select the "Tools" menu. Select
|
||||||
"Options" In the Options dialog, select the "Directories" tab Under the
|
"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
|
"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
|
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.
|
list, thus overriding MS's own STL implementations.
|
||||||
</p>
|
|
||||||
<hr>
|
<hr>
|
||||||
|
<h3>
|
||||||
|
<a NAME="Linux"></a><u>Compiling under Linux</u></h3>
|
||||||
<h3><u><a name="Linux">Compiling under Linux</a></u></h3>
|
|
||||||
Compile, from the OSG root directory, ('%' is UNIX csh prompt) type:
|
Compile, from the OSG root directory, ('%' is UNIX csh prompt) type:
|
||||||
<blockquote><tt>% make</tt></blockquote>
|
<blockquote><tt>% make</tt></blockquote>
|
||||||
Note, make should automatically detect linux and build optimized targets
|
Note, make should automatically detect linux and build optimized targets
|
||||||
for your system. And if you wish to install the OSG type:
|
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
|
or
|
||||||
<blockquote><tt>% make instlinks</tt></blockquote>
|
<blockquote><tt>% make instlinks</tt></blockquote>
|
||||||
To get full details of make options, type:
|
To get full details of make options, type:
|
||||||
<blockquote><tt>% make help</tt></blockquote>
|
<blockquote><tt>% make help</tt></blockquote>
|
||||||
(highly recommended)
|
(highly recommended)
|
||||||
<p>The osgText library now depends upon GLU1.3 functionality, and only
|
<p>The osgText library now depends upon GLU1.3 functionality, and only
|
||||||
the recent Mesa version have this as stanadard. Unfortnately not all Linux
|
the recent Mesa version have this as standard. Unfortunately not all Linux
|
||||||
distribtions are upto date even recent ones. If you have problems compiling
|
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
|
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
|
this file, under the title RedHat7.1 & GLU1.3 for a quick way of installing
|
||||||
GLU1.3 in the right place.
|
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
|
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
|
it doesn't have GLU 1.3 by default, which OSG is now dependent on (for
|
||||||
osgText.) Good luck everyone. - Clay
|
osgText.) Good luck everyone. - Clay
|
||||||
|
<p>
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<hr>
|
<hr>
|
||||||
|
<h3>
|
||||||
<h3><u><a name="Free BSD">Compiling under FreeBSD</a></u></h3>
|
<a NAME="Free BSD"></a><u>Compiling under FreeBSD</u></h3>
|
||||||
Compile, from the OSG root directory, ('%' is UNIX csh prompt) type:
|
Compile, from the OSG root directory, ('%' is UNIX csh prompt) type:
|
||||||
<blockquote><tt>% make</tt></blockquote>
|
<blockquote><tt>% make</tt></blockquote>
|
||||||
Note, make should automatically detect linux and build optimized targets
|
Note, make should automatically detect linux and build optimized targets
|
||||||
for your system. And if you wish to install the OSG type:
|
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
|
or
|
||||||
<blockquote><tt>% make instlinks</tt></blockquote>
|
<blockquote><tt>% make instlinks</tt></blockquote>
|
||||||
To get full details of make options, type:
|
To get full details of make options, type:
|
||||||
<blockquote><tt>% make help</tt></blockquote>
|
<blockquote><tt>% make help</tt></blockquote>
|
||||||
(highly recommended)
|
(highly recommended)
|
||||||
|
<p>
|
||||||
<br>
|
|
||||||
<br>
|
|
||||||
<hr>
|
<hr>
|
||||||
|
<h3>
|
||||||
<h3><u><a name="IRIX">Compiling under IRIX</a></u></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
|
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.
|
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
|
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.
|
recommended to use MIPSPro7.3.1.1m.
|
||||||
<p>Compile, from the OSG root directory, ('%' is UNIX csh prompt) type:
|
<p>Compile, from the OSG root directory, ('%' is UNIX csh prompt) type:
|
||||||
<blockquote><tt>% make</tt></blockquote>
|
<blockquote><tt>% make</tt></blockquote>
|
||||||
Note, make should automatically detect linux and build optimized targets
|
Note, make should automatically detect linux and build optimized targets
|
||||||
for your system. And if you wish to install the OSG type:
|
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
|
or
|
||||||
<blockquote><tt>% make instlinks</tt></blockquote>
|
<blockquote><tt>% make instlinks</tt></blockquote>
|
||||||
To get full details of make options, type:
|
To get full details of make options, type:
|
||||||
<blockquote><tt>% make help</tt></blockquote>
|
<blockquote><tt>% make help</tt></blockquote>
|
||||||
(highly recommended)
|
(highly recommended)
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
|
<h3>
|
||||||
<h3><u><a name="Solaris">Compiling under Solaris</a></u></h3>
|
<a NAME="Solaris"></a><u>Compiling under Solaris</u></h3>
|
||||||
Compile, from the OSG root directory, ('%' is UNIX csh prompt) type:
|
Compile, from the OSG root directory, ('%' is UNIX csh prompt) type:
|
||||||
<blockquote><tt>% make</tt></blockquote>
|
<blockquote><tt>% make</tt></blockquote>
|
||||||
Note, make should automatically detect linux and build optimized targets
|
Note, make should automatically detect linux and build optimized targets
|
||||||
for your system. And if you wish to install the OSG type:
|
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
|
or
|
||||||
<blockquote><tt>% make instlinks</tt></blockquote>
|
<blockquote><tt>% make instlinks</tt></blockquote>
|
||||||
To get full details of make options, type:
|
To get full details of make options, type:
|
||||||
<blockquote><tt>% make help</tt></blockquote>
|
<blockquote><tt>% make help</tt></blockquote>
|
||||||
(highly recommended)
|
(highly recommended)
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
|
<h3>
|
||||||
<h3><u><a name="Mac OSX">Compiling under MacOS X (instructions written by Phil Atkin)</a></u></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
|
For anyone who's ever used a Unix box for development it really is so simple
|
||||||
it's insane.
|
it's insane.
|
||||||
<p>You need to have installed the Developer tools from the CD that comes
|
<p>You need to have installed the Developer tools from the CD that comes
|
||||||
@ -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
|
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
|
from an app, so I used vi to create that. Then I just went
|
||||||
<p>cd $OSGHOME
|
<p>cd $OSGHOME
|
||||||
<blockquote><tt>% make clean</tt>
|
<blockquote><tt>% make clean</tt>
|
||||||
<br><tt>% make macosx</tt></blockquote>
|
<br><tt>% make macosx</tt></blockquote>
|
||||||
|
|
||||||
<p><br>And it sounds too good to be true but it is that simple. It's worth
|
<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
|
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
|
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 -
|
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
|
<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>
|
||||||
">http://www.macos.utah.edu/Documentation/macosx/security/enablerootuser.html</a></blockquote>
|
|
||||||
Or alternately,
|
Or alternately,
|
||||||
<blockquote><a href="http://www.thinkmacintosh.com/osxfaq.html
|
<blockquote><a href="http://www.thinkmacintosh.com/osxfaq.html">http://www.thinkmacintosh.com/osxfaq.html</a></blockquote>
|
||||||
">http://www.thinkmacintosh.com/osxfaq.html</a></blockquote>
|
|
||||||
|
|
||||||
<p><br>One you have a root account enabled, you have to su root you cd
|
<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
|
to the directory which the Fink installer generates, and it puts libdl.a
|
||||||
@ -341,11 +332,10 @@ 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
|
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
|
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
|
is gone in 10.1 or it may be a weirdy in the Mac GLUT implementation, but
|
||||||
forewarned is forearmed.
|
forewarned is forearmed.
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
|
<h3>
|
||||||
<h3><u><a name="Cygwin">Compiling under Cygwin</a></u></h3>
|
<a NAME="Cygwin"></a><u>Compiling under Cygwin</u></h3>
|
||||||
To compile, from the OSG root directory, type: make Note, make should automatically
|
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
|
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
|
you wish to install the OSG type: make install Note that make symbolic
|
||||||
@ -353,15 +343,13 @@ 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
|
copy files just like make install. 'make install' places all files in /usr/local/OpenSceneGraph
|
||||||
under appropriate sub directories. To get full details of make options,
|
under appropriate sub directories. To get full details of make options,
|
||||||
type: make help (highly recommended)
|
type: make help (highly recommended)
|
||||||
<p>OSGFILEPATH environmental variable
|
<p>OSG_FILE_PATH environmental variable
|
||||||
<p>For the OSG to locate file data files easily an environmetal variable
|
<p>For the OSG to locate file data files easily an environmental variable
|
||||||
OSGFILEPATH is used at run-time by the osgDB library. Note, for examples
|
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)
|
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
|
Add the following to your .cshrc (note paths separated by colon's): setenv
|
||||||
OSGFILEPATH ./:${OSGDATA}:${OSGDATA}/Images Or the following if you're
|
OSG_FILE_PATH ./:${OSGDATA}:${OSGDATA}/Images Or the following if you're
|
||||||
using a sh compatible shell : export OSGFILEPATH=./:${OSGDATA}:${OSGDATA}/Images:
|
using a sh compatible shell : export OSG_FILE_PATH=./:${OSGDATA}:${OSGDATA}/Images:
|
||||||
Or under windows (note paths seperated by semi-colon's) : SET OSGFILEPATH=./:${OSGDATA};${OSGDATA}/Images
|
Or under windows (note paths seperated by semi-colon's) : SET OSG_FILE_PATH=./:${OSGDATA};${OSGDATA}/Images
|
||||||
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -7,19 +7,28 @@
|
|||||||
</head>
|
</head>
|
||||||
<body bgcolor="#FFFFFF">
|
<body bgcolor="#FFFFFF">
|
||||||
<img SRC="images/OpenSceneGraphBanner_Distribution.jpg" BORDER=0 height=77 width=640>
|
<img SRC="images/OpenSceneGraphBanner_Distribution.jpg" BORDER=0 height=77 width=640>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="index.html">Index</a></td>
|
<td><a href="index.html">Index</a></td>
|
||||||
|
|
||||||
<td><a href="introduction.html">Introduction</a></td>
|
<td><a href="introduction.html">Introduction</a></td>
|
||||||
|
|
||||||
<td><a href="contents.html">Contents</a></td>
|
<td><a href="contents.html">Contents</a></td>
|
||||||
|
|
||||||
<td><a href="install.html">Install</a></td>
|
<td><a href="install.html">Install</a></td>
|
||||||
|
|
||||||
<td><a href="dependencies.html">Dependencies</a></td>
|
<td><a href="dependencies.html">Dependencies</a></td>
|
||||||
|
|
||||||
<td><a href="demos.html">Demos</a></td>
|
<td><a href="demos.html">Demos</a></td>
|
||||||
|
|
||||||
<td><a href="data.html">Data</a></td>
|
<td><a href="data.html">Data</a></td>
|
||||||
|
|
||||||
<td><a href="sgv.html">Viewer</a></td>
|
<td><a href="sgv.html">Viewer</a></td>
|
||||||
|
|
||||||
<td><a href="stereo.html">Stereo</a></td>
|
<td><a href="stereo.html">Stereo</a></td>
|
||||||
|
|
||||||
<td><a href="plan.html">Plan</a></td>
|
<td><a href="plan.html">Plan</a></td>
|
||||||
|
|
||||||
<td><a href="documentation.html">Reference Guides</a></td>
|
<td><a href="documentation.html">Reference Guides</a></td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
@ -62,9 +71,7 @@ scientific and commercial visualization, training through to modeling programs.
|
|||||||
<h3>
|
<h3>
|
||||||
<u>Why use a Scene Graph - Performance, Productivity, Portability and Scalability</u>.</h3>
|
<u>Why use a Scene Graph - Performance, Productivity, Portability and Scalability</u>.</h3>
|
||||||
|
|
||||||
<ol>
|
<ol><i>Performance</i> - scene graphs provide an excellent framework for
|
||||||
<li><p>
|
|
||||||
<i>Performance</i> - scene graphs provide an excellent framework for
|
|
||||||
maximize graphics performance. A good scene graph employs two key techniques
|
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
|
- 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
|
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
|
will thrash between states, stalling the graphics and destroying graphics
|
||||||
throughout. As GPU's get faster and faster, the cost of stalling the 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.
|
is also going up, so scene graph are become ever more important.
|
||||||
</p></li>
|
<p><i>Productivity</i> - scene graphs take much of the hard work required
|
||||||
<li><p>
|
|
||||||
<i>Productivity</i> - scene graphs take much of the hard work required
|
|
||||||
to develop high performance graphics applications. The scene graphs manage
|
to develop high performance graphics applications. The scene graphs manage
|
||||||
all the graphics for you, reducing what would be thousands of lines of
|
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 Object Orientated programming is that of object composition, enshrined
|
||||||
in <i>Composite Design Pattern</i>, which fits the scene graph tree structure
|
in <i>Composite Design Pattern</i>, which fits the scene graph tree structure
|
||||||
perfectly which makes it highly flexible and reusable design - in real
|
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
|
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
|
very little coding. A dozen lines of code can be enough to load your data
|
||||||
and create an interactive viewer!
|
and create an interactive viewer!
|
||||||
</p></li>
|
<p><i>Portability</i> - scene graphs encapsulate much of the lower level
|
||||||
<li><p>
|
|
||||||
<i>Portability</i> - scene graphs encapsulate much of the lower level
|
|
||||||
tasks of rendering graphics and reading and writing data, reducing or even
|
tasks of rendering graphics and reading and writing data, reducing or even
|
||||||
eradicating the platform specific coding that you require in your own application.
|
eradicating the platform specific coding that you require in your own application.
|
||||||
If the underlying scene graph is portable then moving from platform to
|
If the underlying scene graph is portable then moving from platform to
|
||||||
platform can be a simple as recompiling your source code.
|
platform can be a simple as recompiling your source code.
|
||||||
</p></li>
|
<p><i>Scalability</i> - along with being able to dynamic manage the complexity
|
||||||
<li><p>
|
|
||||||
<i>Scalability</i> - along with being able to dynamic manage the complexity
|
|
||||||
of scenes automatically to account for differences in graphics performance
|
of scenes automatically to account for differences in graphics performance
|
||||||
across a range of machines, scene graphs also make it much easier to manage
|
across a range of machines, scene graphs also make it much easier to manage
|
||||||
complex hardware configurations, such as clusters of graphics machines,
|
complex hardware configurations, such as clusters of graphics machines,
|
||||||
or multiprocessor/multipipe systems such as SGI's Onyx. A good scene graph
|
or multiprocessor/multipipe systems such as SGI's Onyx. A good scene graph
|
||||||
will allow the developer to concentrate on developing their own application
|
will allow the developer to concentrate on developing their own application
|
||||||
while the rendering framework of the scene graph handles the different
|
while the rendering framework of the scene graph handles the different
|
||||||
underlying hardware configurations.
|
underlying hardware configurations.</ol>
|
||||||
</p></li>
|
|
||||||
</ol>
|
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
<h3>
|
<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
|
and well focused on the solving the task. The OpenSceneGraph delivers on
|
||||||
the four key benefits of scene graph technology outlined above using the
|
the four key benefits of scene graph technology outlined above using the
|
||||||
following features:
|
following features:
|
||||||
<ol>
|
<ol><i>Performance</i> - supports view frustum culling, small feature culling,
|
||||||
<li><p>
|
|
||||||
<i>Performance</i> - supports view frustum culling, small feature culling,
|
|
||||||
Level Of Details (LOD') nodes, state sorting, vertex arrays and display
|
Level Of Details (LOD') nodes, state sorting, vertex arrays and display
|
||||||
list as part of the core scene graph, these together make the OpenSceneGraph
|
list as part of the core scene graph, these together make the OpenSceneGraph
|
||||||
one highest performance scene graph available. User feedback is that performance
|
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
|
of massive terrain databases interactively, examples of this approach can
|
||||||
be found at both Vterrain.org and TerrainEngine.com which both integrate
|
be found at both Vterrain.org and TerrainEngine.com which both integrate
|
||||||
with the OpenSceneGraph.
|
with the OpenSceneGraph.
|
||||||
</p></li>
|
<p><i>Productivity</i> - by combining lessons learned from established
|
||||||
<li><p>
|
|
||||||
<i>Productivity</i> - by combining lessons learned from established
|
|
||||||
scene graph like Performer and Open Inventor, with modern software engineering
|
scene graph like Performer and Open Inventor, with modern software engineering
|
||||||
methodologies like Design Patterns and a great deal of feedback early on
|
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
|
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
|
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
|
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.
|
an application and bring in user data with a very small amount of code.
|
||||||
</p></li>
|
<p><i>Portability</i> - The core scene graph has also been designed to
|
||||||
<li><p>
|
|
||||||
<i>Portability</i> - The core scene graph has also been designed to
|
|
||||||
be have minimal platform specific dependency, requiring little more than
|
be have minimal platform specific dependency, requiring little more than
|
||||||
Standard C++ and OpenGL. The has allowed the scene graph to be rapidly
|
Standard C++ and OpenGL. The has allowed the scene graph to be rapidly
|
||||||
ported on wide range of platforms -
|
ported on wide range of platforms - originally developed on IRIX, then
|
||||||
originally developed on IRIX, then
|
|
||||||
ported to Linux, then to Windows, then FreeBSD, then Mac OSX and most recently
|
ported to Linux, then to Windows, then FreeBSD, then Mac OSX and most recently
|
||||||
Solaris! Being completely windowing system independent makes it easy for
|
Solaris! Being completely windowing system independent makes it easy for
|
||||||
users to add their own window specific libraries and applications on top.
|
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
|
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
|
written on top Qt, MFC, WxWindows and SDL. Users have also integrated it
|
||||||
with Motif, and X.
|
with Motif, and X.
|
||||||
</p></li>
|
<p><i>Scalability</i> - the scene graph not only runs from portables all
|
||||||
<li><p>
|
the way up to Onyx Infinite Reality Monsters, it supports the multiple
|
||||||
<i>Scalability</i> - the scene graph not only runs from portables all the
|
graphics subsystems found on machines like the a mulitpipe Onyx. This is
|
||||||
way up to Onyx Infinite Reality Monsters, it supports the multiple graphics
|
possible since the core scene graph supports multiple graphics context
|
||||||
subsystems found on machines like the a mulitpipe Onyx. This is possible
|
for both OpenGL DisplayLists and texture objects, and the cull and draw
|
||||||
since the core scene graph supports multiple graphics context for both
|
traversals have been designed to cache rendering data locally and use the
|
||||||
OpenGL DisplayLists and texture objects, and the cull and draw traversals
|
scene gaph almost entirely as a read only operation. This allows multiple
|
||||||
have been designed to cache rendering data locally and use the scene gaph
|
cull-draw pairs to run on multiple CPU's which are bound to multiple graphics
|
||||||
almost entirely as a read only operation. This allows multiple cull-draw
|
subsystems. This has been demonstrated using the OpenSceneGraph in conjunction
|
||||||
pairs to run on multiple CPU's which are bound to multiple graphics subsystems.
|
with sgi's OpenGL multipipe SDK. We also have osgMP in development which
|
||||||
This has been demonstrated using the OpenSceneGraph in conjunction with
|
will be cross platform and transparently support multiple multipipe systems
|
||||||
sgi's OpenGL multipipe SDK. We also have osgMP in development which will
|
like the Onyx and graphics clusters</ol>
|
||||||
be cross platform and transparently support multiple multipipe systems
|
|
||||||
like the Onyx and graphics clusters
|
|
||||||
</p></li>
|
|
||||||
</ol>
|
|
||||||
All the source to is published under the GNU Library General Public License
|
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,
|
(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.
|
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
|
<p>The source distribution contains the all the source and include files
|
||||||
required to build the OpenSceneGraph from scratch, and is ideal if you
|
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
|
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>
|
<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
|
instructions for how to get the OpenSceneGraph compiling and installed
|
||||||
on your system. You may also need to download libraries that parts of the
|
on your system. You may also need to download libraries that parts of the
|
||||||
OpenSceneGraph is dependent upon such as glut, check the
|
OpenSceneGraph is dependent upon such as glut, check the <a href="dependencies.html">dependencies</a>
|
||||||
<a href="dependencies.html">dependencies</a>
|
|
||||||
list for further details.
|
list for further details.
|
||||||
|
<p>For full instructions of how to run the demos read the <a href="demos.html">demos</a>
|
||||||
|
page.
|
||||||
<br>
|
<br>
|
||||||
<hr>
|
<hr>
|
||||||
<h3>
|
<h3>
|
||||||
|
123
doc/plan.html
123
doc/plan.html
@ -2,111 +2,126 @@
|
|||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
<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>
|
<title>Plans for future developments</title>
|
||||||
</head>
|
</head>
|
||||||
<body text="#000000" bgcolor="#FFFFFF" link="#0000FF" vlink="#990066" alink="#FF0000">
|
<body text="#000000" bgcolor="#FFFFFF" link="#0000FF" vlink="#990066" alink="#FF0000">
|
||||||
<img SRC="images/OpenSceneGraphBanner_Distribution.jpg" height=77 width=640>
|
<img SRC="images/OpenSceneGraphBanner_Distribution.jpg" height=77 width=640>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="index.html">Index</a></td>
|
<td><a href="index.html">Index</a></td>
|
||||||
|
|
||||||
<td><a href="introduction.html">Introduction</a></td>
|
<td><a href="introduction.html">Introduction</a></td>
|
||||||
|
|
||||||
<td><a href="contents.html">Contents</a></td>
|
<td><a href="contents.html">Contents</a></td>
|
||||||
|
|
||||||
<td><a href="install.html">Install</a></td>
|
<td><a href="install.html">Install</a></td>
|
||||||
|
|
||||||
<td><a href="dependencies.html">Dependencies</a></td>
|
<td><a href="dependencies.html">Dependencies</a></td>
|
||||||
|
|
||||||
<td><a href="demos.html">Demos</a></td>
|
<td><a href="demos.html">Demos</a></td>
|
||||||
|
|
||||||
<td><a href="data.html">Data</a></td>
|
<td><a href="data.html">Data</a></td>
|
||||||
|
|
||||||
<td><a href="sgv.html">Viewer</a></td>
|
<td><a href="sgv.html">Viewer</a></td>
|
||||||
|
|
||||||
<td><a href="stereo.html">Stereo</a></td>
|
<td><a href="stereo.html">Stereo</a></td>
|
||||||
|
|
||||||
<td><a href="plan.html">Plan</a></td>
|
<td><a href="plan.html">Plan</a></td>
|
||||||
|
|
||||||
<td><a href="documentation.html">Reference Guides</a></td>
|
<td><a href="documentation.html">Reference Guides</a></td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</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>
|
<ul>
|
||||||
|
|
||||||
<li>
|
<li>
|
||||||
New osg::Geometry drawable to deprecate osg::GeoSet, the new Geometry class
|
New osg::Geometry drawable to deprecate osg::GeoSet, the new Geometry class
|
||||||
will support multiple text coords, use std::vector<> for easy management of
|
will support multiple text coords, use std::vector<> for easy management
|
||||||
attributes.and support gl extensions to provide greater polygon performance.
|
of attributes and support gl extensions to provide greater polygon performance.</li>
|
||||||
</li>
|
|
||||||
<li>
|
<li>
|
||||||
Multi-texturing support in osg::Texture. osg::TexMat, osg::TexGen.
|
Multi-texturing support in osg::Texture. osg::TexMat, osg::TexGen.</li>
|
||||||
</li>
|
|
||||||
<li>
|
<li>
|
||||||
Multi-pass fallback for when multi-texturing is not supported.
|
Multi-pass fallback for when multi-texturing is not supported.</li>
|
||||||
</li>
|
|
||||||
<li>
|
<li>
|
||||||
Clean up the API for managing multi-stage and multi-pass rendering within the scene graph.
|
Clean up the API for managing multi-stage and multi-pass rendering within
|
||||||
</li>
|
the scene graph.</li>
|
||||||
|
|
||||||
<li>
|
<li>
|
||||||
Replace osgGLUT with a cleaner windowing API for the demos, move osgGLUT
|
Replace osgGLUT with a cleaner windowing API for the demos, move osgGLUT
|
||||||
out of the distribution and into the bazaar.
|
out of the distribution and into the bazaar.</li>
|
||||||
</li>
|
|
||||||
<li>
|
<li>
|
||||||
Introduce a new library osgGA, which acts as GUI abstraction layer, move the
|
Introduce a new library osgGA, which acts as GUI abstraction layer, move
|
||||||
current osgUtil camera manipulators into osgGA.</li>
|
the current osgUtil camera manipulators into osgGA.</li>
|
||||||
|
|
||||||
<li>
|
<li>
|
||||||
Introduce a new library osgEnv/osgShapes, which adds support for creating shapes and
|
Introduce a new library osgEnv/osgShapes, which adds support for creating
|
||||||
environmental effects such as stars, planats, cloud layers and ground planes.
|
shapes and environmental effects such as stars, planets, cloud layers and
|
||||||
</li>
|
ground planes.</li>
|
||||||
|
|
||||||
<li>
|
<li>
|
||||||
Integrate unit tests for all classes, and develop a test suite.
|
Integrate unit tests for all classes, and develop a test suite.</li>
|
||||||
</li>
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<h3>Books, tutorials and demostrations</h3>
|
<h3>
|
||||||
|
Books, tutorials and demonstrations</h3>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
Don Burns and Robert Osfield to write the OpenSceneGraph book!</li>
|
Don Burns and Robert Osfield to write the OpenSceneGraph book!</li>
|
||||||
|
|
||||||
<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>
|
<li>
|
||||||
Development of technoglogy demonstrations for shows, presentations and training.</li>
|
Development of technology demonstrations for shows, presentations and training.</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<h3>Development of commerical add on libraries:</h3>
|
<h3>
|
||||||
|
Development of commercial add on libraries:</h3>
|
||||||
|
|
||||||
<ul>
|
<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>
|
<li>
|
||||||
osgMP - cross platfrom library for transparently managing mulitpipe and
|
osgLP - cross platform library for support for light points.</li>
|
||||||
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>
|
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<h3>Professional services</h3>
|
<h3>
|
||||||
|
Professional services</h3>
|
||||||
|
|
||||||
<ul>
|
<ul>
|
||||||
|
<li>
|
||||||
|
Set up a support contract and support systems for confidential, email,
|
||||||
|
phone and onsite support.</li>
|
||||||
|
|
||||||
<li>
|
<li>
|
||||||
Set up a support contract and support systems for confidential,
|
Set up the Open Scene Graph Professional License (OSGPL) which is conventional
|
||||||
email, phone and onsite support.</li>
|
proprietary license that allows companies to distribute projects that do
|
||||||
<li>
|
not comply with the terms of the LGPL, such as turn key systems.</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>
|
|
||||||
<li>
|
<li>
|
||||||
Develop training courses.</li>
|
Develop training courses.</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
For further details on osgMP, osgLP, OSGPL licensing, professional support,
|
||||||
For further details on osgMP, osgLP, OSGPL licensing, professional support, training and consultancy
|
training and consultancy services contact Robert Osfield at <a href="mailto:robert@openscenegraph.com">robert@openscenegraph.com</a>
|
||||||
services contact Robert Osfield at <a href="mailto:robert@openscenegraph.com">robert@openscenegraph.com</a> or
|
or Don Burns at <a href="mailto:don@andesengineering.com">don@andesengineering.com.</a>
|
||||||
Don Burns at <a href="mailto:don@andesengineering.com">don@andesengineering.com.</a>
|
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
277
doc/stereo.html
277
doc/stereo.html
@ -2,228 +2,305 @@
|
|||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
<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>
|
<title>Native stereo support</title>
|
||||||
</head>
|
</head>
|
||||||
<body text="#000000" bgcolor="#FFFFFF" link="#0000EE" vlink="#551A8B" alink="#FF0000">
|
<body text="#000000" bgcolor="#FFFFFF" link="#0000EE" vlink="#551A8B" alink="#FF0000">
|
||||||
|
|
||||||
<img SRC="images/OpenSceneGraphBanner_Distribution.jpg" height=77 width=640>
|
<img SRC="images/OpenSceneGraphBanner_Distribution.jpg" height=77 width=640>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="index.html">Index</a></td>
|
<td><a href="index.html">Index</a></td>
|
||||||
|
|
||||||
<td><a href="introduction.html">Introduction</a></td>
|
<td><a href="introduction.html">Introduction</a></td>
|
||||||
|
|
||||||
<td><a href="contents.html">Contents</a></td>
|
<td><a href="contents.html">Contents</a></td>
|
||||||
|
|
||||||
<td><a href="install.html">Install</a></td>
|
<td><a href="install.html">Install</a></td>
|
||||||
|
|
||||||
<td><a href="dependencies.html">Dependencies</a></td>
|
<td><a href="dependencies.html">Dependencies</a></td>
|
||||||
|
|
||||||
<td><a href="demos.html">Demos</a></td>
|
<td><a href="demos.html">Demos</a></td>
|
||||||
|
|
||||||
<td><a href="data.html">Data</a></td>
|
<td><a href="data.html">Data</a></td>
|
||||||
|
|
||||||
<td><a href="sgv.html">Viewer</a></td>
|
<td><a href="sgv.html">Viewer</a></td>
|
||||||
|
|
||||||
<td><a href="stereo.html">Stereo</a></td>
|
<td><a href="stereo.html">Stereo</a></td>
|
||||||
|
|
||||||
<td><a href="plan.html">Plan</a></td>
|
<td><a href="plan.html">Plan</a></td>
|
||||||
|
|
||||||
<td><a href="documentation.html">Reference Guides</a></td>
|
<td><a href="documentation.html">Reference Guides</a></td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<h2><u>Native Support for Stereo</u></h2>
|
<h2>
|
||||||
|
<u>Native Support for Stereo</u></h2>
|
||||||
<p>The OSG has support for anaglyphic stereo
|
The OSG has support for anaglyphic stereo (i.e. red/green or red/cyan glasses),
|
||||||
(i.e. red/green or red/cyan glasses), quad buffered stereo (i.e. active stereo using shutter glasses,
|
quad buffered stereo (i.e. active stereo using shutter glasses, or passive
|
||||||
or passive stereo using polarized projectors & glasses) and horizontal and vertical split window stereo implementations.
|
stereo using polarized projectors & glasses) and horizontal and vertical
|
||||||
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
|
split window stereo implementations. Almost all OSG applications have the
|
||||||
handled transparently inside osgUtil::SceneView's handling of rendering.It is a simple as:
|
potential for stereo support simply by setting the relevant environmental
|
||||||
</p>
|
variables, or via command line arguments. Little or no code changes will
|
||||||
<b> sgv -stereo cow.osg</b>
|
be required, the support is handled transparently inside osgUtil::SceneView's
|
||||||
|
handling of rendering. It is a simple as:
|
||||||
<p>If the user is planning to use head tracked stereo, or a cave then it is currently recommend to set it
|
<br><b> sgv -stereo cow.osg</b>
|
||||||
up via a VR toolkit such as VRjuggler, in this case refer to the VR toolkits handling of stereo, and keep
|
<p>If the user is planning to use head tracked stereo, or a cave then it
|
||||||
all the OSG's stereo specific environment variables (below) set to OFF, or set the values to off within own
|
is currently recommend to set it up via a VR toolkit such as VRjuggler,
|
||||||
your own applications.
|
in this case refer to the VR toolkits handling of stereo, and keep all
|
||||||
</p>
|
the OSG's stereo specific environment variables (below) set to OFF, or
|
||||||
|
set the values to off within own your own applications.
|
||||||
|
<br>
|
||||||
<hr>
|
<hr>
|
||||||
<h3>The environmental variables of interest:</h3>
|
<h3>
|
||||||
|
The environmental variables of interest:</h3>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<td><b>OSG_STEREO</b></td>
|
<td><b>OSG_STEREO</b></td>
|
||||||
|
|
||||||
<td><b>ON</b></td>
|
<td><b>ON</b></td>
|
||||||
<td>Turn stereo on </td>
|
|
||||||
|
<td>Turn stereo on </td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td></td>
|
<td></td>
|
||||||
|
|
||||||
<td><b>OFF</b></td>
|
<td><b>OFF</b></td>
|
||||||
<td>Turn stereo off (default). </td>
|
|
||||||
|
<td>Turn stereo off (default). </td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td><b>OSG_STEREO_MODE</b></td>
|
<td><b>OSG_STEREO_MODE</b></td>
|
||||||
|
|
||||||
<td><b>ANAGLYPHIC</b></td>
|
<td><b>ANAGLYPHIC</b></td>
|
||||||
<td>Use anaglyphic stereo when in stereo (default). </td>
|
|
||||||
|
<td>Use anaglyphic stereo when in stereo (default). </td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td></td>
|
<td></td>
|
||||||
|
|
||||||
<td><b>QUAD_BUFFER</b></td>
|
<td><b>QUAD_BUFFER</b></td>
|
||||||
<td>Use quad buffered stereo when in stereo. </td>
|
|
||||||
|
<td>Use quad buffered stereo when in stereo. </td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td></td>
|
<td></td>
|
||||||
|
|
||||||
<td><b>HORIZONTAL_SPLIT</b></td>
|
<td><b>HORIZONTAL_SPLIT</b></td>
|
||||||
<td>Use horizontal split stereo mode when in stereo </td>
|
|
||||||
|
<td>Use horizontal split stereo mode when in stereo </td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td></td>
|
<td></td>
|
||||||
|
|
||||||
<td><b>VERTICAL_SPLIT</b></td>
|
<td><b>VERTICAL_SPLIT</b></td>
|
||||||
<td>Use vertical split stereo mode when in stereo </td>
|
|
||||||
|
<td>Use vertical split stereo mode when in stereo </td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td><b>OSG_SCREEN_DISTANCE</b></td>
|
<td><b>OSG_SCREEN_DISTANCE</b></td>
|
||||||
|
|
||||||
<td><b>0.50</b></td>
|
<td><b>0.50</b></td>
|
||||||
<td>Set the distance the viewer is from screen in metres (default shown) </td>
|
|
||||||
|
<td>Set the distance the viewer is from screen in metres (default shown) </td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td><b>OSG_SCREEN_HEIGHT</b></td>
|
<td><b>OSG_SCREEN_HEIGHT</b></td>
|
||||||
|
|
||||||
<td><b>0.26</b></td>
|
<td><b>0.26</b></td>
|
||||||
<td>Set the height if image on the screen in metres (default shown) </td>
|
|
||||||
|
<td>Set the height if image on the screen in metres (default shown) </td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td><b>OSG_EYE_SEPERATION</b></td>
|
<td><b>OSG_EYE_SEPERATION</b></td>
|
||||||
|
|
||||||
<td><b>0.06</b></td>
|
<td><b>0.06</b></td>
|
||||||
<td>Set the eye seperation - interoccular distance (default shown.) </td>
|
|
||||||
|
<td>Set the eye separation - interoccular distance (default shown.) </td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td><b>OSG_SPLIT_STEREO_HORIZONTAL_SEPERATION</b></td>
|
<td><b>OSG_SPLIT_STEREO_HORIZONTAL_SEPERATION</b></td>
|
||||||
|
|
||||||
<td><b>42</b></td>
|
<td><b>42</b></td>
|
||||||
<td>Set the number of pixels betweent the left and right viewports (default shown).</td>
|
|
||||||
|
<td>Set the number of pixels between the left and right viewports (default
|
||||||
|
shown).</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td><b>OSG_SPLIT_STEREO_HORIZONTAL_EYE_MAPPING</b></td>
|
<td><b>OSG_SPLIT_STEREO_HORIZONTAL_EYE_MAPPING</b></td>
|
||||||
|
|
||||||
<td><b>LEFT_EYE_LEFT_VIEWPORT</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>
|
|
||||||
|
<td>Set the left eye to render to left viewport, right eye to right viewport
|
||||||
|
(default). </td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td></td>
|
<td></td>
|
||||||
|
|
||||||
<td><b>LEFT_EYE_RIGHT_VIEWPORT</b></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>
|
|
||||||
|
<td>Set the left eye to render to right viewport, right eye to left viewport. </td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td><b>OSG_SPLIT_STEREO_VERTICAL_SEPERATION</b></td>
|
<td><b>OSG_SPLIT_STEREO_VERTICAL_SEPERATION</b></td>
|
||||||
|
|
||||||
<td><b>42</b></td>
|
<td><b>42</b></td>
|
||||||
<td>Set the number of pixels betweent the top and bottom viewports (default shown).</td>
|
|
||||||
|
<td>Set the number of pixels between the top and bottom viewports (default
|
||||||
|
shown).</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td><b>OSG_SPLIT_STEREO_VERTICAL_EYE_MAPPING</b></td>
|
<td><b>OSG_SPLIT_STEREO_VERTICAL_EYE_MAPPING</b></td>
|
||||||
|
|
||||||
<td><b>LEFT_EYE_TOP_VIEWPORT</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>
|
|
||||||
|
<td>Set the left eye to render to top viewport, right eye to bottom viewport
|
||||||
|
(default). </td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td></td>
|
<td></td>
|
||||||
|
|
||||||
<td><b>LEFT_EYE_BOTTOM_VIEWPORT</b></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>
|
|
||||||
|
<td>Set the left eye to render to bottom viewport, right eye to top viewport. </td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
|
<h3>
|
||||||
<h3>Command line arguments can be used to override these settings:</h3>
|
Command line arguments can be used to override these settings:</h3>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<td><b>-stereo</b></td>
|
<td><b>-stereo</b></td>
|
||||||
<td><b></b> </td>
|
|
||||||
<td>Switch on stereo. </td>
|
<td></td>
|
||||||
|
|
||||||
|
<td>Switch on stereo. </td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td><b>-stereo</b></td>
|
<td><b>-stereo</b></td>
|
||||||
|
|
||||||
<td><b>ON</b></td>
|
<td><b>ON</b></td>
|
||||||
<td>Switch on stereo. </td>
|
|
||||||
|
<td>Switch on stereo. </td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td></td>
|
<td></td>
|
||||||
|
|
||||||
<td><b>OFF</b></td>
|
<td><b>OFF</b></td>
|
||||||
<td>Switch off stereo. </td>
|
|
||||||
|
<td>Switch off stereo. </td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td></td>
|
<td></td>
|
||||||
|
|
||||||
<td><b>ANAGLYPHIC</b></td>
|
<td><b>ANAGLYPHIC</b></td>
|
||||||
<td>Switch on ANAGLYPHIC stereo. </td>
|
|
||||||
|
<td>Switch on ANAGLYPHIC stereo. </td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td></td>
|
<td></td>
|
||||||
|
|
||||||
<td><b>QUAD_BUFFER</b></td>
|
<td><b>QUAD_BUFFER</b></td>
|
||||||
<td>Switch on QUAD_BUFFER stereo. </td>
|
|
||||||
|
<td>Switch on QUAD_BUFFER stereo. </td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td></td>
|
<td></td>
|
||||||
|
|
||||||
<td><b>VERTICAL_SPLIT</b></td>
|
<td><b>VERTICAL_SPLIT</b></td>
|
||||||
<td>Switch on VERTICAL_SPLIT stereo. </td>
|
|
||||||
|
<td>Switch on VERTICAL_SPLIT stereo. </td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td></td>
|
<td></td>
|
||||||
|
|
||||||
<td><b>HORIZONTAL_SPLIT</b></td>
|
<td><b>HORIZONTAL_SPLIT</b></td>
|
||||||
<td>Switch on VERTICAL_SPLIT stereo. </td>
|
|
||||||
|
<td>Switch on VERTICAL_SPLIT stereo. </td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
|
<h3>
|
||||||
<h3> Examples:</h3>
|
Examples:</h3>
|
||||||
To invoke stereo from the comandline: <br>
|
To invoke stereo from the comandline:
|
||||||
<b> sgv -stereo cow.osg</b>
|
<br><b> sgv -stereo cow.osg</b>
|
||||||
<p>To invoke quad buffered stereo from the commandline: <br>
|
<p>To invoke quad buffered stereo from the commandline:
|
||||||
<b> sgv -stereo QUAD_BUFFER cow.osg</b></p>
|
<br><b> sgv -stereo QUAD_BUFFER cow.osg</b>
|
||||||
<p>To force all apps to start up in quad buffered stereo (if system supports
|
<p>To force all apps to start up in quad buffered stereo (if system supports
|
||||||
it) <br>
|
it)
|
||||||
<b> export OSG_STEREO=ON</b><br>
|
<br><b> export OSG_STEREO=ON</b>
|
||||||
<b> export OSG_STEREO_MODE=QUAD_BUFFER</b><br>
|
<br><b> export OSG_STEREO_MODE=QUAD_BUFFER</b>
|
||||||
<b> sgv cow.osg</b></p>
|
<br><b> sgv cow.osg</b>
|
||||||
<p>To set quad buffered stereo to the default, but use the commandline to
|
<p>To set quad buffered stereo to the default, but use the commandline
|
||||||
switch stereo on: <br>
|
to switch stereo on:
|
||||||
<b> export OSG_STEREO=OFF</b><br>
|
<br><b> export OSG_STEREO=OFF</b>
|
||||||
<b> export OSG_STEREO_MODE=QUAD_BUFFER</b><br>
|
<br><b> export OSG_STEREO_MODE=QUAD_BUFFER</b>
|
||||||
<b> sgv -stereo cow.osg</b><br>
|
<br><b> sgv -stereo cow.osg</b>
|
||||||
</p>
|
<p>
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
|
<h3>
|
||||||
<h3> Size matters:</h3>
|
Size matters:</h3>
|
||||||
<p>For appropriate depth perception the stereo code creates separate left
|
For appropriate depth perception the stereo code creates separate left
|
||||||
and eye views, both the frustum and modelview are shifted to account for
|
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
|
the separate eye views. To achieve the right amount of adjustment
|
||||||
OSG requires the users eye separation, the distance from the eyes to the screen
|
the OSG requires the users eye separation, the distance from the eyes to
|
||||||
and the height of the screen. The OSG will use the defaults of 0.05m,0.5m
|
the screen and the height of the screen. The OSG will use the defaults
|
||||||
and 0.26m respectively which are assumed to be reasonable defaults for most
|
of 0.05m,0.5m and 0.26m respectively which are assumed to be reasonable
|
||||||
users workstation configurations, note the OSG_SCREEN_HEIGHT is the image
|
defaults for most users workstation configurations, note the OSG_SCREEN_HEIGHT
|
||||||
height rather than total size of your monitor/display surface. For
|
is the image height rather than total size of your monitor/display surface.
|
||||||
the best stereo effects please measure these values and set them up via the
|
For the best stereo effects please measure these values and set them up
|
||||||
environmental variables. Once set the views you get should give improved
|
via the environmental variables. Once set the views you get should
|
||||||
depth perception. A good way of measuring how well you are configured
|
give improved depth perception. A good way of measuring how well
|
||||||
for your display is to fly away from objects (using the FlightManipulator
|
you are configured for your display is to fly away from objects (using
|
||||||
for instance, but not the TrackballManipulator, see below) so that they
|
the FlightManipulator for instance, but not the TrackballManipulator, see
|
||||||
go of toward infinity. As they move away the offset between the two images
|
below) so that they go of toward infinity. As they move away the offset
|
||||||
should tend towards your eye separation, if you achieve this then the object
|
between the two images should tend towards your eye separation, if you
|
||||||
will be perceived as at infinity.</p>
|
achieve this then the object will be perceived as at infinity.
|
||||||
|
<br>
|
||||||
<hr>
|
<hr>
|
||||||
|
<h3>
|
||||||
<h3> Camera Manipulator Modes:</h3>
|
Camera Manipulator Modes:</h3>
|
||||||
<p>There are three osgUtil::CameraManipulator's which come with osgUtil,
|
There are three osgUtil::CameraManipulator's which come with osgUtil, which
|
||||||
which operate as a Trackball, Drive and Flight modes of interaction (see
|
operate as a Trackball, Drive and Flight modes of interaction (see sgv.html
|
||||||
sgv.html for how to invoke them in the scene graph viewer). The osgUtil::Trackball
|
for how to invoke them in the scene graph viewer). The osgUtil::Trackball
|
||||||
Manipulator automatically scales the fusion distance to that which will
|
Manipulator automatically scales the fusion distance to that which will
|
||||||
fusion on center point of rotation - this will appear at the middle of the
|
fusion on center point of rotation - this will appear at the middle of
|
||||||
monitor at the monitors depth. Whereas, the osgUtil::DriveManipualtor, osgUtil::FlightManipulator
|
the monitor at the monitors depth. Whereas, the osgUtil::DriveManipualtor,
|
||||||
scale the fusion distance to the distance the viewer is from the screen,
|
osgUtil::FlightManipulator scale the fusion distance to the distance the
|
||||||
the results in a perception that the virtual world is scaled to physical
|
viewer is from the screen, the results in a perception that the virtual
|
||||||
world, this is clearly better for simulators and alike. You can control
|
world is scaled to physical world, this is clearly better for simulators
|
||||||
the fusion of the image in these two modes via the osg::Camera::setFusionDistanceMode(FusionDistanceMode
|
and alike. You can control the fusion of the image in these two modes via
|
||||||
mode) where mode can be osg::Camera::PROPORTIONAL_TO_LOOK_DISTANCE (used
|
the osg::Camera::setFusionDistanceMode(FusionDistanceMode mode) where mode
|
||||||
by Trackball) or osg::Camera::PROPORTIONAL_TO_SCREEN_DISTANCE (used by
|
can be osg::Camera::PROPORTIONAL_TO_LOOK_DISTANCE (used by Trackball) or
|
||||||
Drive and Flight), and osg::Camera::setFusionDistanceRatio(float). See
|
osg::Camera::PROPORTIONAL_TO_SCREEN_DISTANCE (used by Drive and Flight),
|
||||||
include/osg/Camera for further details, and the camera manipulators for
|
and osg::Camera::setFusionDistanceRatio(float). See include/osg/Camera
|
||||||
implementation details. The fusion distance ratio defaults to 1.0 but
|
for further details, and the camera manipulators for implementation details.
|
||||||
can be biased to move objects out or into screen, they will also appear
|
The fusion distance ratio defaults to 1.0 but can be biased to move objects
|
||||||
to get smaller and larger respectively. The camera manipulators allow
|
out or into screen, they will also appear to get smaller and larger respectively.
|
||||||
the user to alter this value at runtime via the '+' and '-' keys.</p>
|
The camera manipulators allow the user to alter this value at runtime via
|
||||||
|
the '+' and '-' keys.
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
65
index.html
65
index.html
@ -2,83 +2,106 @@
|
|||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
<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>
|
<title>Documentionn Index</title>
|
||||||
</head>
|
</head>
|
||||||
<body text="#000000" bgcolor="#FFFFFF" link="#0000EE" vlink="#551A8B" alink="#FF0000">
|
<body text="#000000" bgcolor="#FFFFFF" link="#0000EE" vlink="#551A8B" alink="#FF0000">
|
||||||
|
|
||||||
<img SRC="doc/images/OpenSceneGraphBanner_Distribution.jpg" height=77 width=640>
|
<img SRC="doc/images/OpenSceneGraphBanner_Distribution.jpg" height=77 width=640>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="doc/index.html">Index</a></td>
|
<td><a href="doc/index.html">Index</a></td>
|
||||||
|
|
||||||
<td><a href="doc/introduction.html">Introduction</a></td>
|
<td><a href="doc/introduction.html">Introduction</a></td>
|
||||||
|
|
||||||
<td><a href="doc/contents.html">Contents</a></td>
|
<td><a href="doc/contents.html">Contents</a></td>
|
||||||
|
|
||||||
<td><a href="doc/install.html">Install</a></td>
|
<td><a href="doc/install.html">Install</a></td>
|
||||||
|
|
||||||
<td><a href="doc/dependencies.html">Dependencies</a></td>
|
<td><a href="doc/dependencies.html">Dependencies</a></td>
|
||||||
|
|
||||||
<td><a href="doc/demos.html">Demos</a></td>
|
<td><a href="doc/demos.html">Demos</a></td>
|
||||||
|
|
||||||
<td><a href="doc/data.html">Data</a></td>
|
<td><a href="doc/data.html">Data</a></td>
|
||||||
|
|
||||||
<td><a href="doc/sgv.html">Viewer</a></td>
|
<td><a href="doc/sgv.html">Viewer</a></td>
|
||||||
|
|
||||||
<td><a href="doc/stereo.html">Stereo</a></td>
|
<td><a href="doc/stereo.html">Stereo</a></td>
|
||||||
|
|
||||||
<td><a href="doc/plan.html">Plan</a></td>
|
<td><a href="doc/plan.html">Plan</a></td>
|
||||||
|
|
||||||
<td><a href="doc/documentation.html">Reference Guides</a></td>
|
<td><a href="doc/documentation.html">Reference Guides</a></td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<h2>
|
<h2>
|
||||||
<u>Index</u></b></h2>
|
<u>Index</u></h2>
|
||||||
|
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="doc/introduction.html">Introduction</a></td>
|
<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>
|
<td>Introduction to Scene Graph in general, the OpenSceneGraph project
|
||||||
|
itself and how to use it.</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="doc/contents.html">Contents</a></td>
|
<td><a href="doc/contents.html">Contents</a></td>
|
||||||
|
|
||||||
<td>A list of the directories in the distribution.</td>
|
<td>A list of the directories in the distribution.</td>
|
||||||
</td>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="doc/install.html">Install</a></td>
|
<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>A guide of how to compile and install on all the supported platforms.</td>
|
||||||
</td>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="doc/dependencies.html">Dependencies</a></td>
|
<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>Listing of all the dependencies of the project, with links of where
|
||||||
|
to download them.</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="doc/demos.html">Demos</a></td>
|
<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>
|
<td>Thumbnails and info on all the demo applications which come with this
|
||||||
|
distribution.</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="doc/data.html">Data</a></td>
|
<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>List of websites where one can download interesting and useful data
|
||||||
|
from.</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="doc/sgv.html">Viewer</a></td>
|
<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>
|
<td>List of key bindings support by the osgGLUT::Viewer and hence sgv and
|
||||||
|
the rest of demos.</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="doc/stereo.html">Stereo</a></td>
|
<td><a href="doc/stereo.html">Stereo</a></td>
|
||||||
<td>Documentation on the commandline paramters and environmential variables which control stereo.</td>
|
|
||||||
</td>
|
<td>Documentation on the commandline parameters and environmental variables
|
||||||
|
which control stereo.</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="doc/plan.html">Plan</a></td>
|
<td><a href="doc/plan.html">Plan</a></td>
|
||||||
|
|
||||||
<td>Details of development plans.</td>
|
<td>Details of development plans.</td>
|
||||||
</td>
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td><a href="doc/documentation.html">Reference Guides</a></td>
|
<td><a href="doc/documentation.html">Reference Guides</a></td>
|
||||||
<td>Reference guides of the core libraries.</td>
|
|
||||||
</td>
|
|
||||||
|
|
||||||
|
<td>Reference guides of the core libraries.</td>
|
||||||
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
|
Loading…
Reference in New Issue
Block a user