Moved the main documentation onto the wiki website, and removed from the

OpenSceneGraph distribution
This commit is contained in:
Robert Osfield
2004-11-17 12:58:50 +00:00
parent daaa9f3ba0
commit 326bb0dbe4
33 changed files with 28 additions and 2416 deletions

View File

@@ -1,6 +1,28 @@
OSG News (most significant items from ChangeLog)
================================================
16th November 2004 - OpenSceneGraph-0.9.8
>>> Support for database archives, improved pager, 3d compressed textures
Database archives.
Improved pager support with better multi-processor stability and constant frame rate
peformance.
STL import.
Spelling and typo correction blitz on osg, osgDB and osgUtil libraries.
NodeTrackManipulator improved.
General bug fixes.
New examples:
osgplanets
osgspotlight
osglauncher
18th August 2004 - OpenSceneGraph-0.9.7-2
Build fixes for VisualStudio6.0.

View File

@@ -1,9 +1,11 @@
Welcome to the OpenSceneGraph (OSG).
For information on the project, this distribution, how to compile and
run libraries and examples, and for documention open up index.html
in your perfered html browser.
For up to date information on the project, how to compile and run libraries
and examples, and see the documentation on the OpenSceneGraph website.
http://www.openscenegraph.org
Robert Osfield.
robert@openscenegraph.com
April 2002.
November 2004.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

View File

@@ -1,16 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="generator" content="MindManager v4.0.60">
<meta name="author" content="Mindjet LLC">
<title>Design Patterns</title></head>
<body bgcolor="#ffffff">
<!-- To copy the MindManager image map please begin here (with next <center> tag) -->
<center><img src="DesignPatterns.gif" border="0" usemap="#mindmap"></center><map name="mindmap">
</map>
<!-- Copy until here (including the </map> tag) -->
</body></html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

View File

@@ -1,16 +0,0 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="generator" content="MindManager v4.0.60">
<meta name="author" content="">
<title>Mission</title></head>
<body bgcolor="#ffffff">
<!-- To copy the MindManager image map please begin here (with next <center> tag) -->
<center><img src="Mission.gif" border="0" usemap="#mindmap"></center><map name="mindmap">
</map>
<!-- Copy until here (including the </map> tag) -->
</body></html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

View File

@@ -1,55 +0,0 @@
<!DOCTYPE doctype PUBLIC "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1">
<meta name="GENERATOR"
content="Mozilla/4.6 [en-gb]C-CCK-MCD NetscapeOnline.co.uk (Win95; I) [Netscape]">
<title>Data sources</title>
</head>
<body text="#000000" bgcolor="#ffffff" link="#0000ff" vlink="#990066"
alink="#ff0000">
<img src="images/OpenSceneGraphBanner_Distribution.jpg">
<table>
<tbody>
<tr>
<td><a href="index.html">Index</a> </td>
<td><a href="introduction.html">Introduction</a> </td>
<td><a href="contents.html">Contents</a> </td>
<td><a href="install.html">Install</a> </td>
<td><a href="dependencies.html">Dependencies</a> </td>
<td><a href="examples.html">examples</a> </td>
<td><a href="data.html">Data</a> </td>
<td><a href="osgviewer.html">Viewer</a> </td>
<td><a href="stereo.html">Stereo</a> </td>
<td><a href="osgdem.html">osgdem</a></td>
<td><a href="plan.html">Plan</a> </td>
<td><a href="documentation.html">Reference Guides</a> </td>
</tr>
</tbody>
</table>
<h2><u>Data Sources</u></h2>
<ul>
<li>Open scene graph .osg demo data set can downloaded here:</li>
<a href="http://sourceforge.net/project/showfiles.php?group_id=11278&amp;release_id=173283">http://sourceforge.net/project/showfiles.php?group_id=11278&amp;release_id=17328</a><br>
</ul>
<ul>
<li>Terrain models in OpenFlight .flt and TerraPage format go to the
download page at </li>
<a href="http://www.terrex.com">http://www.terrex.com</a> <br>
<br>
<li>Terrain models in OpenFlight .flt format at Grime:</li>
<a href="http://www.grime.net/Downloads/simulations.htm">http://www.grime.net</a> <br>
<br>
<li>Various 3d models, many in .3ds format at 3D Cafe.</li>
<i><a href="http://www.3dcafe.com">http://www.3dcafe.com</a></i> <br>
<br>
<li>Various 3d models, a various formats.</li>
<i><a href="http://www.3dmodelworld.com">http://www.3dmodelworld.com</a></i> <br>
<br>
<li>Various 3d models, many in .3ds format at 3D Rocket Fuel.</li>
<i><a href="http://www.3drocketfuel.com">http://www.3drocketfuel.com</a></i>
</ul>
</body>
</html>

View File

@@ -1,123 +0,0 @@
<!DOCTYPE doctype PUBLIC "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1">
<meta name="GENERATOR"
content="Mozilla/4.75C-SGI [en] (X11; I; IRIX64 6.5 IP27) [Netscape]">
<title>OSG Documentation</title>
</head>
<body text="#000000" bgcolor="#ffffff" link="#0000ee" vlink="#551a8b"
alink="#ff0000">
<img src="images/OpenSceneGraphBanner_Distribution.jpg">
<table>
<tbody>
<tr>
<td><a href="index.html">Index</a></td>
<td><a href="introduction.html">Introduction</a></td>
<td><a href="contents.html">Contents</a></td>
<td><a href="install.html">Install</a></td>
<td><a href="dependencies.html">Dependencies</a></td>
<td><a href="examples.html">examples</a></td>
<td><a href="data.html">Data</a></td>
<td><a href="osgviewer.html">Viewer</a></td>
<td><a href="stereo.html">Stereo</a></td>
<td><a href="osgdem.html">osgdem</a></td>
<td><a href="plan.html">Plan</a></td>
<td><a href="documentation.html">Reference Guides</a></td>
</tr>
</tbody>
</table>
<h2> <u>Reference Guides</u></h2>
The documentation on the OSG is still in its early stages, and far from
complete. If you can't find your answers in what documentation there
currently is, please feel free to post the question on the OSG mailing
list.
<p><u>Reference guides (automatically generated using doc++)</u> </p>
<blockquote>
<table cellpadding="2" cellspacing="2" border="0"
style="text-align: left; width: 528px; height: 272px;">
<tbody>
<tr>
<td style="vertical-align: top;"><a href="doc++/osg/HIER.html">osg/</a></td>
<td style="vertical-align: top;">core scene graph<br>
</td>
</tr>
<tr>
<td style="vertical-align: top;"><a
href="doc++/osgUtil/HIER.html">osgUtil/</a></td>
<td style="vertical-align: top;">utilitiy library</td>
</tr>
<tr>
<td style="vertical-align: top;"><a href="doc++/osgDB/HIER.html">osgDB/</a></td>
<td style="vertical-align: top;">database library<br>
</td>
</tr>
<tr>
<td style="vertical-align: top;"><a
href="doc++/osgParticle/HIER.html">osgParticle/</a></td>
<td style="vertical-align: top;">Nodekit with Particle support<br>
</td>
</tr>
<tr>
<td style="vertical-align: top;"><a
href="doc++/osgText/HIER.html">osgText/</a></td>
<td style="vertical-align: top;">Nodekit with text support<br>
</td>
</tr>
<tr>
<td style="vertical-align: top;"><a
href="doc++/osgTerrain/HIER.html">osgTerrain/</a><br>
</td>
<td style="vertical-align: top;">Nodekit with support
generating large scale geospatial paged databases</td>
</tr>
<tr>
<td style="vertical-align: top;"><a
href="doc++/osgSim/HIER.html">osgSim/</a></td>
<td style="vertical-align: top;">Nodekit for visual simulation<br>
</td>
</tr>
<tr>
<td style="vertical-align: top;"><a href="doc++/osgFX/HIER.html">osgFX/</a></td>
<td style="vertical-align: top;">Nodekit which adds support for
special effects<br>
</td>
</tr>
<tr>
<td style="vertical-align: top;"><a
href="doc++/osgGL2/HIER.html">osgGL2/</a><br>
</td>
<td style="vertical-align: top;">Nodekit with OpenGL2 support<br>
</td>
</tr>
<tr>
<td style="vertical-align: top;"><a href="doc++/osgGA/HIER.html">osgGA/</a></td>
<td style="vertical-align: top;">utility library for adapting
Windowing events etc<br>
</td>
</tr>
<tr>
<td style="vertical-align: top;"><a
href="doc++/osgProducer/HIER.html">osgProducer/</a></td>
<td style="vertical-align: top;">windowing/viewer library built
ontop of OpenProducer<br>
</td>
</tr>
</tbody>
</table>
</blockquote>
<p><u>UML Diagrams</u> </p>
<blockquote><a href="UML/osg.png">osg</a>&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; UML diagram of
the osg core library <br>
<a href="UML/osgutils.png">osgUtil</a> &nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp; UML diagram of the osg utilities library</blockquote>
<p></p>
<p><u>Mind Maps</u> </p>
<blockquote><a href="MindMaps/DesignPatterns/DesignPatterns.html">Design
Pattern used in the OSG.</a> <br>
<a href="MindMaps/Mission/Mission.html">Mission Statement for OSG.</a></blockquote>
<p></p>
</body>
</html>

View File

@@ -1,212 +0,0 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="GENERATOR" content="Mozilla/4.77 [en] (X11; U; Linux 2.4.3-20mdk i686) [Netscape]">
<title>examples</title>
</head>
<body text="#000000" bgcolor="#FFFFFF" link="#0000FF" vlink="#990066" alink="#FF0000">
<img SRC="images/OpenSceneGraphBanner_Distribution.jpg">
<table>
<tr>
<td><a href="index.html">Index</a></td>
<td><a href="introduction.html">Introduction</a></td>
<td><a href="contents.html">Contents</a></td>
<td><a href="install.html">Install</a></td>
<td><a href="dependencies.html">Dependencies</a></td>
<td><a href="examples.html">examples</a></td>
<td><a href="data.html">Data</a></td>
<td><a href="osgviewer.html">Viewer</a></td>
<td><a href="stereo.html">Stereo</a></td>
<td><a href="osgdem.html">osgdem</a></td>
<td><a href="plan.html">Plan</a></td>
<td><a href="documentation.html">Reference Guides</a></td>
</tr>
</table>
<h2>
<a NAME="Running the demos"></a><u>Running the examples</u></h2>
Once the OpenSceneGraph is <a href="install.html">installed</a> you will
need place the location where it was installed on the you systems paths
environmental variables, and then download the <a href="data.html">demo
data</a> and set the <b>OSG_FILE_PATH</b> so that the file loading can
locate the datasets. It is probably worth setting you autoexec.bat, .bashrc
or.tcsh etc to pick up on these settings so that next time you log in everything
is in easy reach.
<li>
Windows:</li>
<ul><b>set PATH = C:/all/the/exisitng/paths;C:/OpenSceneGraph/bin</b>
<br><b>set OSG_FILE_PATH = C:/OpenSceneGraph-Data;C:/OpenSceneGraph-Data/Images</b></ul>
<li>
Unix</li>
<ul><b>export PATH = ${PATH}:/home/myaccount/OpenSceneGraph/bin</b>
<br><b>export LD_LIBRARY_PATH = ${LD_LIBRARY_PATH}:/home/myaccount/OpenSceneGraph/lib</b>
<br><b>export OSG_FILE_PATH = /home/myaccount/OpenSceneGraph-Data:/home/myaccount/OpenSceneGraph-Data/Images</b>
<br>or
<br><b>setenv PATH ${PATH}:/home/myaccount/OpenSceneGraph/bin</b>
<br><b>setenv LD_LIBRARY_PATH = ${LD_LIBRARY_PATH}:/home/myaccount/OpenSceneGraph/lib</b>
<br><b>setenv OSG_FILE_PATH /home/myaccount/OpenSceneGraph-Data:/home/myaccount/OpenSceneGraph-Data/Images</b></ul>
<li>
MacOSX:</li>
<ul><b>setenv PATH "${PATH}:${OSGHOME}/lib:${OSGHOME}/lib/osgPlugins"</b>
<br><b>setenv DYLD_LIBRARY_PATH "${OSGHOME}/lib:${OSGHOME}/lib/osgPlugins"</b>
<br><b>setenv DYLD_BIND_AT_LAUNCH</b>
<br><b>setenv OSG_FILE_PATH "/home/myaccount/OpenSceneGraph-Data:/home/myaccount/OpenSceneGraph-Data/Images"</b></ul>
All the demos run on the commandline, most requiring parameters, such as
what file to load, if you are in any doubt just run the application and
it will either run, or provide help on what options it accepts.
<br>&nbsp;
<table>
<tr>
<td><a href="osgviewer.html"><img SRC="images/osgviewer_cow.jpg" BORDER=0 height=100 width=128></a></td>
<td><b>osgviewer cow.osg</b></td>
<td>The scene graph viewer demo uses osgProducer::Viewer to bring up a basic
viewer. To find out what command line arguments it takes simply run osgviewer
without any arguments. To load a model simple run osgviewer filename.ext. The
osgProducer::Viewer provides an extensive set of operations that can be used
to display information about the loaded database such as performance stats,
through to output a snapshot of the screen, which is how these thumbnails
were created. For a full list of key presses and mouse interaction read
the <a href="osgviewer.html">osgviewer</a> documentation.</td>
</tr>
<tr>
<td><a href="stereo.html"><img SRC="images/osgviewer_stereo.jpg" BORDER=0 height=100 width=128></a></td>
<td><b>osgviewer --stereo cessna.osg</b></td>
<td>The scene graph viewer also supports anaglyphic, quad buffered, and
split screen stereo modes, for a full list of options and environmental
variables see the <a href="stereo.html">stereo</a> documentation.</td>
</tr>
<tr>
<td><img SRC="images/hangglide.jpg" BORDER=0 height=100 width=128></td>
<td><b>hangglide</b></td>
<td>The hang glide demo creates a simple flying site (Don Burns local hang
glide site in fact!), demonstrating how to create simple terrain, trees
and skydomes, and how to implement a simple flight camera manipulator to
allow the user to fly around.&nbsp;</td>
</tr>
<tr>
<td><img SRC="images/osgbillboard.jpg" BORDER=0 height=100 width=128></td>
<td><b>osgbillboard lz.rgb</b></td>
<td>Demonstrates how to create the various types of billboard supported
by the OpenSceneGraph. Billboards are typically used for trees or particles
effects.&nbsp;</td>
</tr>
<tr>
<td><img SRC="images/osghud.jpg" BORDER=0 height=100 width=128></td>
<td><b>osghud glider.osg</b></td>
<td>Very similar to the basic osgviewer 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.&nbsp;</td>
</tr>
<tr>
<td><img SRC="images/osgreflect.jpg" BORDER=0 height=100 width=128></td>
<td><b>osgreflect cow.osg</b></td>
<td>An example of how to set up planar reflections using the standard multi-pass
stencil buffer algorithm. This is all handled within the scene graph, so
there is no need to hardwire multi-pass effects into your own application.
.</td>
</tr>
<tr>
<td><img SRC="images/osgscribe.jpg" BORDER=0 height=100 width=128></td>
<td><b>osgscribe.cow.osg</b></td>
<td>An example of how to decorate your scene graph geometry for useful
effects such as scribing. This demo uses two instances of your model, the
first one uses the state values set in your scene graph, the second instance
override the polygmode to render it as wireframe, and with a polygon offset
to ensure it is seen from all angles. These two instance are grouped together
and then are treated like any other scene graph.&nbsp;</td>
</tr>
<tr>
<td><img SRC="images/osgstereoimage.jpg" BORDER=0 height=100 width=128></td>
<td><b>osgstereoimage left.rgb right.rgb</b></td>
<td>An example of use node maks to select different parts of the scene
graph for different traversals, in this case two separate images are drawn
for the left and right eyes to generate a stereo 3D image from two flat
images! .</td>
</tr>
<tr>
<td><img SRC="images/osgtext.jpg" BORDER=0 height=100 width=128></td>
<td><b>osgtext</b></td>
<td>An example showing how to creating the various different typs of text
that the osgText library supports.&nbsp;</td>
</tr>
<tr>
<td><img SRC="images/osgtexture.jpg" BORDER=0 height=100 width=128></td>
<td><b>osgtexture lz.rgb reflect.rgb</b></td>
<td>An example showing how to creating the textured quads, each with different
texture parameters, including anisotrophic filtering and texture compression!&nbsp;</td>
</tr>
<tr>
<td><img SRC="images/osgwindows.jpg" BORDER=0 height=100 width=128></td>
<td><b>osgwindows cow.osg</b></td>
<td>An example of multiple windows all running at once.&nbsp;</td>
</tr>
</table>
</body>
</html>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

View File

@@ -1,99 +0,0 @@
<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1">
<meta name="GENERATOR"
content="Mozilla/4.77 [en] (X11; U; Linux 2.4.3-20mdk i686) [Netscape]">
<title>OSG Documentation</title>
</head>
<body text="#000000" bgcolor="#ffffff" link="#0000ee" vlink="#551a8b"
alink="#ff0000">
<img src="images/OpenSceneGraphBanner_Distribution.jpg"><br>
<br>
<table>
<tbody>
<tr>
<td><a href="index.html">Index</a></td>
<td><a href="introduction.html">Introduction</a></td>
<td><a href="contents.html">Contents</a></td>
<td><a href="install.html">Install</a></td>
<td><a href="dependencies.html">Dependencies</a></td>
<td><a href="examples.html">examples</a></td>
<td><a href="data.html">Data</a></td>
<td><a href="osgviewer.html">Viewer</a></td>
<td><a href="stereo.html">Stereo</a></td>
<td><a href="osgdem.html">osgdem</a></td>
<td><a href="plan.html">Plan</a></td>
<td><a href="documentation.html">Reference Guides</a></td>
</tr>
</tbody>
</table>
<h2>
<u>Index</u></h2>
<table>
<tbody>
<tr>
<td><a href="introduction.html">Introduction</a></td>
<td>Introduction to Scene Graph in general, the OpenSceneGraph
project
itself and how to use it.</td>
</tr>
<tr>
<td><a href="contents.html">Contents</a></td>
<td>A list of the directories in the distribution.</td>
</tr>
<tr>
<td><a href="install.html">Install</a></td>
<td>A guide of how to compile and install on all the supported
platforms.</td>
</tr>
<tr>
<td><a href="dependencies.html">Dependencies</a></td>
<td>Listing of all the dependencies of the project, with links of
where
to download them.</td>
</tr>
<tr>
<td><a href="examples.html">examples</a></td>
<td>Thumbnails and info on all the demo applications which come
with this
distribution.</td>
</tr>
<tr>
<td><a href="data.html">Data</a></td>
<td>List of websites where one can download interesting and
useful data
from.</td>
</tr>
<tr>
<td><a href="osgviewer.html">Viewer</a></td>
<td>List of key bindings support by the osgProducer::Viewer and
hence osgviewer and
the rest of demos.</td>
</tr>
<tr>
<td><a href="stereo.html">Stereo</a></td>
<td>Documentation on the commandline parameters and environmental
variables
which control stereo.</td>
</tr>
<tr>
<td style="vertical-align: top;"><a href="osgdem.html">osgdem</a><br>
</td>
<td style="vertical-align: top;">Documentation on how to use the
osgdem utility<br>
</td>
</tr>
<tr>
<td><a href="plan.html">Plan</a></td>
<td>Details of development plans.</td>
</tr>
<tr>
<td><a href="documentation.html">Reference Guides</a></td>
<td>Reference guides of the core libraries.</td>
</tr>
</tbody>
</table>
</body>
</html>

View File

@@ -1,344 +0,0 @@
<!DOCTYPE doctype PUBLIC "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1">
<meta name="GENERATOR"
content="Mozilla/4.77 [en] (X11; U; Linux 2.4.3-20mdk i686) [Netscape]">
<title>Installation instructions</title>
</head>
<body text="#000000" bgcolor="#ffffff" link="#0000ff" vlink="#990066"
alink="#ff0000">
<img src="images/OpenSceneGraphBanner_Distribution.jpg">
<table>
<tbody>
<tr>
<td><a href="index.html">Index</a></td>
<td><a href="introduction.html">Introduction</a></td>
<td><a href="contents.html">Contents</a></td>
<td><a href="install.html">Install</a></td>
<td><a href="dependencies.html">Dependencies</a></td>
<td><a href="examples.html">examples</a></td>
<td><a href="data.html">Data</a></td>
<td><a href="osgviewer.html">Viewer</a></td>
<td><a href="stereo.html">Stereo</a></td>
<td><a href="osgdem.html">osgdem</a></td>
<td><a href="plan.html">Plan</a></td>
<td><a href="documentation.html">Reference Guides</a></td>
</tr>
</tbody>
</table>
<h2> <u>Compiling and installing the OpenSceneGraph</u></h2>
The scene graph depends upon Standard C++, STL and OpenGL so you need a
C++ compiler up to the task and OpenGL or Mesa installed. The example
applications depend upon Open Producer which you'll need to download and
install from the Producer website. The OSG has it own native ascii file
format, and .rgb image reader which allows you read the example data
with any dependencies other than C++, STL and OpenGL.
<p>The OSG also has a set of plug-ins which support non-native 3d
database and image formats, several have no dependencies on external
libraries (flt,3ds,obj, lwo,dw, tga &amp; pic), while others
(pfb,jpeg,gif,tiff) require other libraries to be installed to compile
them. If you don't already have them installed then don't worry, you'll
still be able to use the OSG, just comment out the plugins you can't
compile from the Make/makedirdefs file. The core osg library and viewer
has been designed to load the plug-ins at run-time only and if they are
required to load a specific data set. If you don't need them for your
datasets then it won't matter that you haven't been able to compile all
the plug-ins. A full list of dependencies and where to download the
required libraries are listed in the <i><a href="dependencies.html">dependencies.html</a></i> </p>
<p>If you're coming across the OSG for the first time and want to get
started quickly, go right ahead and follow the compilation instructions.
You can always later download the libraries which the plug-ins require
if you eventually need them. </p>
<ul>
<li> <a href="#Compiling%20under%20Windows%20with%20Visual%20Studio">Compiling
under Windows with Visual Studio</a></li>
<li> Compiling under Unix (including Mac OSX and Cygwin)</li>
<p><br>
Building the OSG requires 'gmake', due to the extensive use of gmake
directives in the Makefiles. You can get gmake from here if you don't
already have it installed: http://www.gnu.org/software/make/ </p>
<p>Almost all of the unix compiling is done simply with <b>make;
make install</b> with <b>make help</b> to bring up help. For platform
specific details: </p>
<ul>
<li> <a href="#Cygwin">Cygwin</a></li>
<li> <a href="#Linux">Linux</a></li>
<li> <a href="#Free%20BSD">Free BSD</a></li>
<li> <a href="#Mac%20OSX">Mac OSX</a></li>
<li> <a href="#IRIX">IRIX</a></li>
<li> <a href="#Solaris">Solaris</a></li>
</ul>
</ul>
<hr>
<h3> <a name="Compiling under Windows with Visual Studio"></a><u>Compiling
under Windows with Visual Studio.</u></h3>
<p>The Microsoft Visual C++ 6.0 workspace file is VisualStudio.dsw
located in the VisualStudio below the OSG this root directory. VC++6.0
workspace files can also be used in VisualStudio7.0 without problem. </p>
<p><b>IMPORTANT NOTE:</b> Whilst the OSG will compile cleanly with the
basic VC++6.0 and its own STL implementation, the OSG will crash
regularily due to bugs in VC++6.0's STL. VC++6.0's STL is horribly
broken and therefore is <b>*NOT*</b> supported. Do not attempt to use
the OSG in conjunction with native VC++6.0 STL implemention. </p>
<p>The supported combinations are: </p>
<ol>
<li> Visual Studio7.0 .NET </li>
<li> Visual Studio6.0 + Dinkumware's STL bug fix patches (see details
below).</li>
<li> Visual Studio6.0 + STLport (see details below)</li>
</ol>
<p>The OSG is composed of a number of scene graph libraries (with Core
in front of the project names), executables (with examples in front of
the project names), and plugins which read and write 3D data formats and
2D image formats (with osgPlugins in front of the project names). To
get the OSG running you'll need at least to compile Core
osg,osgUtil,osgDB,osgProducer, osgPlugin dot_osg and Demo osgviewer. The
rest of the libraries and executables are optional and can be compiled
if you need them, however for simplicity I would recommend doing a
batch build of all the libraries and executables in the distribution,
some of the plug-ins which support non native file formats may not
compile due to dependencies on other libraries (such as libpng), you
can ignore these compilation errors unless you need to load the related
file types. To help the compilation the plugins, osgProducer and
osgText one can download .zip archive will all the dependencies in it.
Further details on this .zip file can be found in <i><a
href="dependencies.html">dependencies.html</a></i> </p>
<p>To execute the viewer the file path for the .dll's and .exe, both
compiled into the OSG's bin directory, need to be setup, such as by
adding the PATH to your autoexec.bat, its also useful to add the
OSGFILEPATH to your autoexec.bat to help the location of datafiles. For
example : </p>
<p>SET OSGFILEPATH=D:\OpenSceneGraph-Data;D:\OpenSceneGraph-Data\Images <br>
SET PATH=C:\WINDOWS;C:\WINDOWS\COMMAND;D:\osg-0.8.43\bin; </p>
<p>To help compilation of the image reader plugins, various image
libraries have been zipped up for your convenience, your find these on
the OSG release download directory </p>
<h3> Using Visual Studio .NET</h3>
Visual Studio 7.0 .MET has a solid STL implementation and improve
standard C++ complient and works with the OpenSceneGraph without
problems. This is the recommended route.
<h3> Using Dinkumware STL</h3>
The basic jist is that you'll need to download their STL
implementation, and follow their instructions of how to force
VisualStudio to pick up the new STL implementation. More details at <a
href="http://www.dinkumware.com/vc_fixes.html">http://www.dinkumware.com/vc_fixes.html</a>.
<p>Once it is installed everything should compile fine and not crash,
but you won't be running at full speed since the build #ifdef's out some
important state optimizations since the basic VisualStudio can't handle
it. You can safely remove the #ifdef from src/osgUtil/Otimizer.cpp,
Line 44. The #ifdef is smart enough to do this automatically when using
VisualStudio .NET and STLport so that modification by hand won't be
required. Unfortunately there doesn't seem to be a special define
associated with the Dinkumware STL for the #ifdef to pick up on. </p>
<h3> Using STLport</h3>
<p>A very good HOWTO for installing and making the STLPort libs on
MSVC6 can be found at <a
href="http://www.softadvances.com/articles/stlportusing.html">http://www.softadvances.com/articles/stlportusing.html</a> </p>
<p>The OSG has been tested under Windows with STLport-4.5, which allows
the users to configure the type of STL support required for STLport
itself. The key configuration that the OSG needs to do is to enable the
wrapping of MS's own iostreams, than using STLport's own implementation.
The later is not required because this has not be problematic under
Windows, it is only the container classes and algorithms that need
replacing. Using the iostream wrapping option means the STLport can
just be used on your include path, there is no need to compile STLport
itself, or link into any special libraries. To configure STLport simply
comment IN (its commented out by default), the following line from
STLport-4.5/stlport/stl_user_config.h so it should look: </p>
<ul>
# define _STLP_NO_OWN_IOSTREAMS 1
</ul>
<p>Then configure the includes path in Visual Studio to pick up on
STLport: Select the "Tools" menu. Select "Options" In the Options
dialog, select the "Directories" tab Under the "include" option, add the
path to STLport4.5, something like: D:/STLport4.5/stlport Then press
the up array to move the entry all the way to the top of the list, thus
overriding MS's own STL implementations. </p>
<h3>Linking your own apps to the OpenSceneGraph</h3>
<p>All OpenSceneGraph libraries, plugins and executables are compiled
with the multi-threaded dll option turned ON, and with RTTI turned ON.
Your own projects which link to the OpenSceneGraph must uses these same
options or your application will crash or produce unpredicatable
behavior. </p>
<h3>Syntax highlight + OpenScenegraph Standard C++ style headers</h3>
<p>The OpenSceneGraph uses Standard C++ style extensionless headers,
which poor VisualStudio doesn't automatically recognize as suitable for
syntax highlighting (compile works fine though), even the StandardC++
header themselves require a hack to get VisualStudio to highlight them
properly. The easy answer is to use that same hack to get it to
recognize the OpenSceneGraph headers too. To make easy a modified
header listing file can be found in the VisualStudio/LANDEXT.DAT. First
copy the original LANDEXT.DAT file (located in C:\Progam
Files\Microsoft Visual Studio\Common\MSDev98\Bin) to LANDEXT.DAT.BKP,
and then copy over the OpenSceneGraph one. Once you have done this
VisualStudio will syntax highlight them without problem. </p>
<hr>
<h3> <a name="Linux"></a><u>Compiling under Linux</u></h3>
Compile, from the OSG root directory, ('%' is UNIX csh prompt) type:
<blockquote><tt>% make</tt></blockquote>
Note, make should automatically detect linux and build optimized
targets for your system. And if you wish to install the OSG type:
<blockquote><tt>% make install</tt></blockquote>
or
<blockquote><tt>% make instlinks</tt></blockquote>
To get full details of make options, type:
<blockquote><tt>% make help</tt></blockquote>
(highly recommended)
<p>The osgText library now depends upon GLU1.3 functionality, and only
the recent Mesa version have this as standard. Unfortunately not all
Linux distributions are up to date even recent ones. If you have
problems compiling osgText due to GLU problems then check out the
details at the bottom of this file, under the title RedHat7.1 &amp;
GLU1.3 for a quick way of installing GLU1.3 in the right place. </p>
<h3> RedHat 7.2 &amp; GLU1.3</h3>
I have posted a simple fix for those of us who have been unable to
correctly build OSG 0.8.43 on Redhat 7.2. You can download it at
http://www.openscenegraph.org/download/dependencies/ReadHat7.2_fixglu.tar.gz
To install it, follow these steps:
<p>English </p>
<blockquote>1) Untar the tarball. It will create a directory called
fixosg/ <br>
2) Change to the ReadHat7.2_fixglu/ directory <br>
3) Become root <br>
4) Run the script called fixglu</blockquote>
Cmd line
<blockquote>tar xvzf ReadHat7.2_fixglu.tar.gz <br>
cd ReadHat7.2_fixglu/ <br>
su (your root password) <br>
./fixglu <br>
exit</blockquote>
You should then be able to do a "make" in your OSG directory and
everything will build as it should. Let me know if this doesn't work and
I will try to improve it. Email me directly for help instead of posting
here. There's a README in the tarball with some info on what the script
actually does. There's nothing wrong with OSG itself; the problem with
Redhat 7.2 is that it doesn't have GLU 1.3 by default, which OSG is now
dependent on (for osgText.) Good luck everyone. - Clay
<p> </p>
<hr>
<h3> <a name="Free BSD"></a><u>Compiling under FreeBSD</u></h3>
Compile, from the OSG root directory, ('%' is UNIX csh prompt) type:
<blockquote><tt>% make</tt></blockquote>
Note, make should automatically detect linux and build optimized
targets for your system. And if you wish to install the OSG type:
<blockquote><tt>% make install</tt></blockquote>
or
<blockquote><tt>% make instlinks</tt></blockquote>
To get full details of make options, type:
<blockquote><tt>% make help</tt></blockquote>
(highly recommended)
<p> </p>
<hr>
<h3> <a name="IRIX"></a><u>Compiling under IRIX</u></h3>
Since the OSG uses Standard C++ features such as STL it is important to
have an up to date version of the MIPSPro compilers, ie. 7.3 or later.
Support for MIPSPro7.2.1 has now been dropped since it was becoming to
unwildy to support and is very rarely used in the OSG community. It is
recommended to use MIPSPro7.3.1.1m.
<p>Compile, from the OSG root directory, ('%' is UNIX csh prompt) type: </p>
<blockquote><tt>% make</tt></blockquote>
Note, make should automatically detect linux and build optimized
targets for your system. And if you wish to install the OSG type:
<blockquote><tt>% make install</tt></blockquote>
or
<blockquote><tt>% make instlinks</tt></blockquote>
To get full details of make options, type:
<blockquote><tt>% make help</tt></blockquote>
(highly recommended) <br>
<hr>
<h3> <a name="Solaris"></a><u>Compiling under Solaris</u></h3>
Compile, from the OSG root directory, ('%' is UNIX csh prompt) type:
<blockquote><tt>% make</tt></blockquote>
Note, make should automatically detect linux and build optimized
targets for your system. And if you wish to install the OSG type:
<blockquote><tt>% make install</tt></blockquote>
or
<blockquote><tt>% make instlinks</tt></blockquote>
To get full details of make options, type:
<blockquote><tt>% make help</tt></blockquote>
(highly recommended) <br>
<hr>
<h3> <a name="Mac OSX"></a><u>Compiling under MacOS X</u></h3>
For anyone who's ever used a Unix box for development, well, the mac <i>is</i>
a Unix box. It's very simple to get OpenSceneGraph building and running
under Mac OS X. The main requirement is that you need to have installed
the Developer tools from the CD that comes for free with OS X. This
gives you compilers, headers, frameworks - stuff like Producer and
Carbon for developers. Get those here:
<ul>
<li> The Apple <a
href="http://developer.apple.com/tools/macosxtools.html"> developer
tools website</a>. </li>
</ul>
<p>Everything is done command-line, so you need to get to a shell
before proceeding. The Mac comes with an app in Applications/Utilities
called Terminal - open up any Finder window (e.g double-click on your
hard disk icon), click on the Applications icon at the top right of the
window, then click on the Utilities folder to get access to the
Terminal. When you start Terminal it brings you up a csh running from
your ~/ directory. Now, go to your OpenSceneGraph directory, and simply
type: </p>
<p> </p>
<blockquote> <tt>make -j2</tt> </blockquote>
And some time later you'll be rewarded with a lovely set of binaries
and libraries. The Mac OSX build currently only builds a subset of the
total functionality in OpenSceneGraph, but a large subset at that. Some
of the remaining projects are known to build as well, but have external
dependencies on libraries such as libtiff, libjpg, libpng, etc. and so
are not included in the default build. However, if you examine the file <tt>OpenSceneGraph/Make/makedefs</tt>
you will find which extra projects build for the mac, provided you have
the external libraries required. Details on how to install these
external libraries are outside the scope of this document, but for
starting points, see one of:
<ul>
<li> The <a href="http://fink.sourceforge.net">fink project</a>. </li>
<li> The <a href="http://gnu-darwin.sourceforge.net/">GNU-Darwin
project</a>. </li>
</ul>
<h4> Running the examples </h4>
Once you've got OpenSceneGraph built, you're ready to run your
examples. As with other builds on other platforms, OpenSceneGraph
requires you to set a few environment variables which describe your
installation. These environment variables should be full-path, not
relative, and a list of these for a csh-derived environment follow:
<blockquote> <tt> setenv OSGHOME `pwd`/OpenSceneGraph <br>
setenv OSGFILEPATH `pwd`/OpenSceneGraph-Data <br>
setenv OSG_LD_LIBRARY_PATH ${OSGHOME}/lib <br>
setenv DYLD_LIBRARY_PATH ${OSG_LD_LIBRARY_PATH} <br>
setenv DYLD_BIND_AT_LAUNCH <br>
</tt> </blockquote>
<h4> Notes </h4>
<ul>
<li> <b>Input Focus</b>: Many OSG examples have keyboard commands,
however, when launching apps from the Mac Terminal, the focus seems to
remain in the Terminal. Option-Clicking on the graphics window focuses
it as the recipient of events, and allows these keyboard commands to
then function properly. </li>
<li> <b>Known Bugs</b>: </li>
<li> <b>Installation</b>: No package based version of an OS X
installer yet exists. </li>
</ul>
<h3> <a name="Cygwin"></a><u>Compiling under Cygwin</u></h3>
To compile, from the OSG root directory, type: make Note, make should
automatically detect your system and build optimized targets for your
system. And if you wish to install the OSG type: make install Note that
make symbolic links don't seem to work under cygwin, so a make instlinks
will simply copy files just like make install. 'make install' places
all files in /usr/local/OpenSceneGraph under appropriate sub
directories. To get full details of make options, type: make help
(highly recommended)
<p>OSG_FILE_PATH environmental variable </p>
<p>For the OSG to locate file data files easily an environmental
variable OSG_FILE_PATH is used at run-time by the osgDB library. Note,
for examples below substitute in the ${OSGDATA} directory with your own
path where appropriate) Add the following to your .cshrc (note paths
separated by colon's): setenv&nbsp; OSG_FILE_PATH
./:${OSGDATA}:${OSGDATA}/Images Or the following if you're using a sh
compatible shell : export&nbsp;
OSG_FILE_PATH=./:${OSGDATA}:${OSGDATA}/Images: Or under windows (note
paths seperated by semi-colon's) : SET&nbsp;
OSG_FILE_PATH=./:${OSGDATA};${OSGDATA}/Images </p>
</body>
</html>

View File

@@ -1,462 +0,0 @@
<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1">
<meta name="GENERATOR"
content="Mozilla/4.77 [en] (X11; U; Linux 2.4.3-20mdk i686) [Netscape]">
<title>Introduction to the OpenSceneGraph</title>
</head>
<body bgcolor="#ffffff">
<img src="images/OpenSceneGraphBanner_Distribution.jpg" border="0">
<table>
<tbody>
<tr>
<td><a href="index.html">Index</a></td>
<td><a href="introduction.html">Introduction</a></td>
<td><a href="contents.html">Contents</a></td>
<td><a href="install.html">Install</a></td>
<td><a href="dependencies.html">Dependencies</a></td>
<td><a href="examples.html">examples</a></td>
<td><a href="data.html">Data</a></td>
<td><a href="osgviewer.html">Viewer</a></td>
<td><a href="stereo.html">Stereo</a></td>
<td><a href="osgdem.html">osgdem</a></td>
<td><a href="plan.html">Plan</a></td>
<td><a href="documentation.html">Reference Guides</a></td>
</tr>
</tbody>
</table>
<h2>
<u>Introduction to the OpenSceneGraph</u></h2>
<p>The OpenSceneGraph is an portable, high level graphics toolkit for
the development of high peformance
graphics applications such as flight simulators, games, virtual reality
or scientific visualization. Providing an object orientated framework
on top of OpenGL, it frees the developer
from implementing and optimizing low level graphics calls, and provide
many additional utilities for rapid development of graphics
applications. </p>
<p>
The project was started as a hobby by Don Burns in 1998, as means of
porting a hang gliding simulator written on top of the Performer scene
graph running on IRIX to what was then a humble Linux PC. In 1999,
Robert Osfield began helping out with the simulator development and
ported the scene graph element to Windows. In september 1999 the source
code was open sourced, and the openscenegraph.org website was born,
with Robert taking over as project lead and Don remaining focused on
the hang gliding simulator.
</p>
<p> In April 2001, in response to growing interest in the project
around the world, Robert went fulltime on the project, setting up <a
href="http://www.openscenegraph.com">OpenSceneGraph Professional
Services</a> providing commericial support, consultancy services and
training. At the end of 2001 Don also formed his own company <a
href="http://www.andesengineering.com">Andes Computer Engineering</a>
and participates in the development and support of OpenSceneGraph as
well as complimentary projects like <a
href="http://www.andesengineering.com/Producer">OpenProducer</a> and <a
href="http://www.andesengineering.com/BlueMarbleViewer">BlueMarbleViewer</a>.
</p>
<h3><u>What is a Scene Graph?</u></h3>
Its a tree! Quite simply one the best and most reusable data structures
invented. Typically drawn schematically with the root at the top,
leaves at the
bottom. It all starts with a top-most root node which encompasses your
whole
virtual world, be it 2D or 3D. The world is then broken down into a
hierarchy
of nodes representing either spatial groupings of objects, settings of
the
position of objects, animations of objects, or definitions of logical
relationships
between objects such as those to manage the various states of a traffic
light.
The leaves of the graph represent the physical objects themselves, the
drawable geometry and their material properties.
<p></p>
<p>A scene graph isn't a complete game or simulation engine, although
it may
be one of the main components of such an engine; it's primary focus is
representation of your 3d worlds, and efficient rendering thereof.
Physics models,
collision detection and audio are left to other development libraries
that
a user will integrate with. The fact that scene graphs don't typically
integrate all these features is actually a really good thing: it aids
interoprability
with clients' own applications and tools and allows it to serve many
varied
markets from games, visual simulation, virtual reality,
scientific and commercial visualization, training through to modeling
programs.
</p>
<h3>
<u>Benefits that Scene Graphs provide</u></h3>
The key reasons that many graphics developers uses scene graphs are <i>Performance,
Productivity, Portability and Scalability:</i>
<ul>
<li><b><i>Performance</i></b></li>
Scene graphs provide an excellent framework for
maximizing graphics performance. A good scene graph employs two key
techniques
- culling of the objects that won't be seen on screen, and state
sorting
of properties such as textures and materials, so that all similar
objects
are drawn together. Without culling the CPU, buses and GPU will all
become
swamped by many times the amount of data than they actually require to
represent your scenes accurately. The hierarchical structure of the
scene
graph makes this culling process very efficient, for instance a whole
city can be culled
with just a few operations! Without state sorting, the the buses and
GPU
will thrash between states, stalling the graphics pipeline and
destroying graphics
throughput. As GPU's get faster and faster, the cost of stalling the
graphics pipeline
is also going up, so scene graphs are becoming ever more important.
<p></p>
<li><b><i>Productivity</i></b></li>
Scene graphs take away much of the hard work required
to develop high performance graphics applications. The scene graph
manages
all the graphics for you, reducing what would be thousands of lines of
OpenGL down to a few simple calls. Furthermore, one of most powerful
concepts
in Object Oriented programming is that of object composition, enshrined
in the <i>Composite Design Pattern</i>, which fits the scene graph
tree structure
perfectly and makes it a highly flexible and reusable design - in real
terms this means that it can be easily adapted to solve your problems.
Scene graphs also often come additional utility libraries which range
from
helping users set up and manage graphics windows to importing of 3d
models
and images. All this together allows the user to achieve a great deal
with
very little coding. A dozen lines of code can be enough to load your
data
and create an interactive viewer!
<p></p>
<li><b><i>Portability</i></b></li>
Scene graphs encapsulate much of the lower level
tasks of rendering graphics and reading and writing data, reducing or
even
eradicating the platform specific coding that you require in your own
application.
If the underlying scene graph is portable then moving from platform to
platform can be as simple as recompiling your source code.
<p></p>
<li><b><i>Scalability</i></b></li>
Along with being able to dynamic manage the complexity
of scenes automatically to account for differences in graphics
performance
across a range of machines, scene graphs also make it much easier to
manage
complex hardware configurations, such as clusters of graphics machines,
or multiprocessor/multipipe systems such as SGI's Onyx. A good scene
graph
will allow the developer to concentrate on developing their own
application
while the rendering framework of the scene graph handles the different
underlying hardware configurations.
</ul>
<h3>
<u>The OpenSceneGraph - <i> a robust, high peformance Open Source
scene graph</i></u></h3>
With the OpenSceneGraph our goal is make the benefits of scene graph
technology freely available to all, for both commericial and non
commericial users. Whilst our scene graph
is still in development, it has already gained a respect
amongst the development community for its high performance, cleanness
of
design and portability. Written entirely in Standard C++ and OpenGL, it
makes full use of the STL and Design Patterns, and leverages the open
source
development model to provide a development library that is legacy free
and focused on the needs of end users. The OpenSceneGraph delivers on
the four key benefits of scene graph technology outlined above with the
following features:
<ul>
<li><b><i>Performance</i></b></li>
Supports view frustum culling, occlusion culling, small feature
culling,
Level Of Detail (LOD) nodes, state sorting, vertex arrays and display
lists as part of the core scene graph. These together make the
OpenSceneGraph
one of the highest performance scene graph available. User feedback is
that
performance matches or surpasses that of much more established scene
graphs such as Performer, VTree, Vega Scene Graph and Java3D! The
OpenSceneGraph also supports easy customization
of the drawing process, which has allowed implementation of Continuous
Level
of Detail (CLOD) meshes on top the scene graph. These allow the
visualization
of massive terrain databases interactively, examples of this approach
can
be found at Vterrain.org and TerrainEngine.com, both of which integrate
with the OpenSceneGraph.
<p></p>
<li><b><i>Productivity</i></b> </li>
<p>The core scene graph provides encapsulate the majority of OpenGL
functionality including latest extensions, provides rending
optimizations
such as culling and sorting, and a whole set of add on libraries which
make
it possible to develop high peformance graphics applications very
rapidly. The application developer is freed to concentrate on content
and how that content is controlled rather than low level coding. </p>
<p>Combining lessons learned from established scene graphs like
Performer
and Open Inventor, with modern software engineering methods like Design
Patterns, along with a great deal of feedback early on in the
development cycle, it has been possible to design a library that is
clean and extensible. This has made it easy for users to adopt to the
OpenSceneGraph and to integrate it with their own applications. </p>
<p>For reading and writing databases an the database library (osgDB)
adds
support for a wide
variety of database formats via a extensible dynamic plugin mechansim -
the distribution now includes 33
seperate plugins for loading various 3D and Image data formats. 3D
Database loaders include OpenFlight (.flt), TerraPage (.txp) including
multi-threading support, LightWave (.lwo), Alias Wavefront (.obj),
Carbon Graphics GEO (.geo), 3D Studio MAX (.3ds), Peformer (.pfb),
Quake Character Models (.md2). Direct X (.x), and Inventor Ascii 2.0
(.iv)/ VRML 1.0 (.wrl), Designer Workshop (.dw) and AC3D (.ac) and the
native .osg ASCII format.
Image loaders include .rgb, .gif, .jpg, .png, .tiff, .pic, .bmp, .dds
(include compressed mip mapped imagery), .tga and qucktime (under OSX).
A whole set of high quality, anti-aliased fonts can also be loaded via
the freetype plugin. </p>
<p>The scene graph also has a set of <i>Node Kits</i> which are
seperate
libraries,
that can be compiled in with your applications or loaded in at runtime,
which add support for particle systems (osgParticle),
high quality anti-aliased text (osgText) and navigational light points
(osgSim). </p>
<p>The community has also developed a number of additional <i>Node
Kits</i>
such as <a href="http://osgnv.sourceforge.net/">osgNV</a> (which
includes support for NVidia's vertex, fragment, combiner etc extension
and NVidia's Cg shader language.), <a
href="http://www.terrainengine.com">Demeter</a> (CLOD terrain +
integration with OSG). <a href="http://osgcal.sourceforge.net">osgCal</a>
(which integrates <a href="http://cal3d.sourceforge.net//">Cal3D</a>
and the OSG), <a href="http://www.vrlab.umu.se/research/osgvortex">osgVortex</a>
(which integrates the <a href="http://www.cm-labs.com/">CM-Labs Vortex</a>
physics enginer with OSG)
and a whole set libraries that integrating the leading Windowing API's
Links can be found in the bazaar sections on the <a
href="http://www.openscenegraph.org/download/">download</a> page of
OpenSceneGraph webiste. </p>
<p>The project has also been integrated with <a
href="http://www.vrjuggler.org/">VR Juggler</a> and <a
href="http://http://vess.ist.ucf.edu/">Vess</a> virtual realilty the
frameworks, with others in developments. </p>
<li><b><i>Portability</i></b></li>
The core scene graph has also been designed to
have minimal dependency on any specific platform, requiring little more
than
Standard C++ and OpenGL. This has allowed the scene graph to be rapidly
ported to a wide range of platforms - originally developed on IRIX,
then
ported to Linux, then to Windows, then FreeBSD, Mac OSX, Solaris, HP-UX
and we even a report of successful porting to PlayStation2! <br>
The core scene graph library being completely windowing system
independent makes it easy for users to add their own window-specific
libraries and applications on top.
In the distribution there is already the osgProducer library which
integrates with <a href="http://www.andesengineering.com/Producer/">OpenProducer</a>,
and in the Bazaar
found at openscenegrph.org/download/ one can find examples of
applications
written on top of GLUT, Qt, MFC, WxWindows and SDL. Users have also
integrated it
with Motif, and X.
<p></p>
<li><b><i>Scalability</i></b></li>
The scene graph will not only run on portables all
the way up to Onyx Infinite Reality Monsters, but also supports the
multiple
graphics subsystems found on machines like a mulitpipe Onyx. This is
possible because the core scene graph supports multiple graphics
contexts
for both OpenGL Display Lists and texture objects, and the cull and
draw
traversals have been designed to cache rendering data locally and use
the
scene graph almost entirely as a read-only operation. This allows
multiple
cull-draw pairs to run on multiple CPU's which are bound to multiple
graphics
subsystems. Support for multiple graphic context and multi-threading is
all
available out of the box via osgProducer - all the examples in the
distribution
can run multi-pipe just by use a simple configuation file.
</ul>
All the source to the OSG is published under the Open Scene Graph
Public License
(a relaxed version on the LGPL) which allows both open source and
closed source projects to use,
modify and distribute it freely as long its usage complies with the
OSGPL.
The project has been developed over the last four years, initiated by
Don
Burns, and then taken over by Robert Osfield who continues to lead the
project
today. There are many other contributors to the library, for a full
list
check out the AUTHORS file. Both Robert and Don now work on the
OpenSceneGraph
in a professional capacity providing consultancy and bespoke
development
on top the library, and are also collaborating on the book. Work on the
core scene graph and support of public mailing list remains unpaid as
are
the contributions of the rest of the community, but this hasn't
impacted
the quality of the source or support which once you get stuck in you
grow
to appreciate.
<p>The project is currently in beta, which means the main core features
are now in
place, with a 1.0 release in second half of 2004. Despite the beta
development status,
the project has already earned the reputation as the leading open
source scene
graph, and is establishing itself as a viable alternative to the
commercial
scene graphs. Numerous companies, university researchers and graphics
enthusiasts
have already adopted the OpenSceneGraph for their projects, all over
the world. Examples of the wide variety of applications already
developed ontop of the OpenSceneGraph include <a
href="http://http://www.andesengineering.com/BlueMarbleViewer/">Blue
Marble Viewer</a>, <a href="http://www.vterrain.org"> Virtual Terrain
Project</a>, <a href="http://http://csp.sourceforge.net/">Combat
Simulator Project</a>, <a href="http://osgedit.sourceforge.net/">OSG-Edit</a>.
This is just a snippet of the projects that use the project, more
examples can be found on the screenshot pages and bazaar on the
website.
</p>
<h3>
<u>Getting started</u></h3>
The first thing is to select the distribution which suits you, there
are
binary, development and source code distributions, these can be loaded
from the
<a href="http://openscenegraph.sf.net/downloads">http://openscenegraph.sf.net/downloads</a>
page. The latest developments area available as via a nightly tarball
or
via cvs.
<p>The binary distribution contains just the libraries (.dll's /.so's)
and example executables. This is suitable for using the OpenSceneGraph
with
an application that has already been compiled but depends at runtime on
the OpenSceneGraph.
</p>
<p>The development distribution contains the libraries (.dll's /.so's),
example executables, include files, and source to the examples. This is
suitable
for developers using the OpenSceneGraph.
</p>
<p>The source distribution contains all the source and include files
required to build the OpenSceneGraph from scratch, and is ideal if you
want to learn more about how the scene graph works, how to extend it,
and
to track down and fix any problems that you come across.
</p>
<p>If you are using a source distribution then read the <a
href="install.html">installation</a>
instructions for how to get the OpenSceneGraph compiling and installed
on your system. You may also need to download libraries that parts of
the
OpenSceneGraph depend upon, such as Producer. Check the <a
href="dependencies.html">dependencies</a>
list for further details.
</p>
<p>For full instructions of how to run the examples read the <a
href="examples.html">examples</a>
page.
</p>
<h3>
<u>Learning how to use the OpenSceneGraph</u></h3>
<p>The main collections of resources for learning how to use the
OpenSceneGraph can be found on openscenegraph.org documentaiton page,
please check this out regular for new entries.<br>
</p>
<p>The OpenSceneGraph distribution comes with a reference guide for
each of
the component libraries - osg, osgDB, osgUtil, osgText, osgSim,
osgParticle and osgProducer, a set
of 42 examples - the source of which can be found in examples/
directory in the distribution. For questions
or help which can't be easily be answered by the reference guide and
examples
source, one should join the mailing list (details below).
</p>
<p>Two sets of online tutorial been written by members of the
OpenSceneGraph community:<br>
&nbsp;&nbsp;&nbsp; Jason McVeigh's <a
href="http://www.tersesolutions.net/osgt/">OpenSceneGraph Tutorials</a><br>
&nbsp;&nbsp;&nbsp; Joseph Sullivan's&nbsp; <a
href="http://www.nps.navy.mil/cs/sullivan/osgTutorials/index.html">OpenSceneGraph
Tutorials</a><br>
&nbsp;<br>
A programming guide will be available in form of a OpenSceneGraph
book
which is being written by Don Burns and Robert Osfield, parts of it
will
be available online.
</p>
<p>Although not directly related to the OpenSceneGraph, once can learn
about scene graph technology from such sources as the <a
href="http://www.sgi.com/software/inventor/manuals.html">Open
Inventor Mentor</a>, and <a
href="http://www.cineca.it/manuali/Performer/ProgGuide24/html">Performer
Programming Guides</a>. The latter is the closer in design to
the OpenSceneGraph, although the Performer manuals are in C, alas. Also
of use
as a background to some of the techniques used is a SIGGRAPH <a
href="http://www.opengl.org/developers/code/sig99/advanced99/course_slides/vissim/index.htm">Vis-Sim
course</a>.
</p>
<p>The OpenSceneGraph uses OpenGL and does so with a deliberately thin
layer,
making it easy to control the underlying OpenGL and to extend it with
OpenGL
extensions. The close tie with OpenGL is also reflected in the naming
of
many of the OpenGL state related classes, and the parameters that they
encapsulate, which means that knowledge of OpenGL itself will go a long
way
to understanding how to get the best out of the OpenSceneGraph. To this
end it is worth obtaining a copy of the OpenGL programming guide - <a
href="http://fly.cc.fer.hr/%7Eunreal/theredbook/">`Red
Book`</a> and OpenGL reference guide 'Blue Book'. The main <a
href="http://www.opengl.org">OpenGL
website</a> is also a good source of links and further information.
</p>
<h3>
<u>Support and discussion - the <i>osg-user</i> mailing list</u></h3>
For scene graph related questions, bug reports, bug fixes, and general
design and development discussion one should join the <a
href="http://dburns.dhs.org/mailman/listinfo/osg-user"><span
style="text-decoration: underline;">osg-user</span></a>
mailing list, and check the the mailing list <a
href="http://osgcvs.no-ip.com/osgarchiver/">archives</a>.
<p>Professional support is also available in the form of confidential
online,
phone and onsite support and consultancy, for details contact Robert
Osfield
at <a href="mailto:robert@openscenegraph.com">robert@openscenegraph.com</a>.
</p>
</body>
</html>

View File

@@ -1,373 +0,0 @@
<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1">
<meta name="GENERATOR"
content="Mozilla/4.77 [en] (X11; U; Linux 2.4.3-20mdk i686) [Netscape]">
<title>examples</title>
</head>
<body text="#000000" bgcolor="#ffffff" link="#0000ff" vlink="#990066"
alink="#ff0000">
<img src="images/OpenSceneGraphBanner_Distribution.jpg">
<table>
<tbody>
<tr>
<td><a href="index.html">Index</a></td>
<td><a href="introduction.html">Introduction</a></td>
<td><a href="contents.html">Contents</a></td>
<td><a href="install.html">Install</a></td>
<td><a href="dependencies.html">Dependencies</a></td>
<td><a href="examples.html">examples</a></td>
<td><a href="data.html">Data</a></td>
<td><a href="osgviewer.html">Viewer</a></td>
<td><a href="stereo.html">Stereo</a></td>
<td><a href="osgdem.html">osgdem</a></td>
<td><a href="plan.html">Plan</a></td>
<td><a href="documentation.html">Reference Guides</a></td>
</tr>
</tbody>
</table>
<h2>
<a name="Using_osgdem"></a><u>Using osgdem to generate geospatial
terrain databases</u></h2>
<ol>
<li><a href="#Quick_step_by_step_guide:">Quick step by step guide</a></li>
<li><a href="#osgdem_options">osgdem options</a></li>
</ol>
<hr style="width: 100%; height: 2px;">
<h3><a name="Quick_step_by_step_guide:"></a>Quick step by step guide:</h3>
What follows are the steps required to get osgTerrain/osgdem compiling and
an example of how to use it to process imagery and DEM's to generate a
paged databases.<br>
<br>
1) Download, compile &amp; install GDAL. <br>
&nbsp;<br>
2) Get the latest OSG in CVS.<br>
<br>
3) For UNIX 'make' users, make a copy of Make/dependencies and change the
GDAL_INSTALL entry to:<br>
<br>
<div style="margin-left: 40px;"><span style="font-weight: bold;">set
GDAL_INSTALL = true </span><br>
<span style="font-weight: bold;"></span></div>
<span style="font-weight: bold;"><br>
&nbsp;&nbsp;&nbsp; </span>Then tell the build to use your custom
dependencies by setting the environmental variable OSG_DEPENDENCIES to
the absolute path to your file i.e.:<br>
<br>
<div style="margin-left: 40px;"><span style="font-weight: bold;">export
OSG_DEPENDENCIES=/home/billgates/my_osg_dependencies</span><br>
</div>
&nbsp;<br>
4) Rebuild the OSG &amp; install (if you haven't already).<br>
&nbsp;<br>
5) Oh, make sure you have a couple of GB of spare disk space,&nbsp; because
you're going to need it :-) <br>
&nbsp;<br>
6) Download some data, for this example I'm using the Puget Sound data
at: <br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <a
href="http://www.cc.gatech.edu/projects/large_models/ps.html">http://www.cc.gatech.edu/projects/large_models/ps.html
</a><br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Download Elevation Map:
16385 &times; 16385 PNG: 188MB <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Download Texture Map:
16384 &times; 16384 PNG: 268MB &nbsp;<br>
<br>
7) To avoid aliasing artifacts when accessing data I use <a
href="http://www.remotesensing.org/gdal/gdal_utilities.html">GDAL
utilitiy
programs</a> to generate overviews (basically mip maps stored in the
.tiff format)
via: <br>
&nbsp;<br>
<br>
<div style="margin-left: 40px;"><span style="font-weight: bold;">gdal_translate
ps_height_16k.png
ps_height_16k.tif </span><br>
<span style="font-weight: bold;">gdaladdo -r average ps_height_16k.tif
2 4 8 16 32 </span><br style="font-weight: bold;">
<span style="font-weight: bold;">&nbsp;&nbsp; </span><br
style="font-weight: bold;">
<span style="font-weight: bold;">gdal_translate ps_texture_16k.png
ps_texture_16k.tif </span><br style="font-weight: bold;">
g<span style="font-weight: bold;">daladdo -r average ps_texture_16k.tif
2 4 8 16 32 </span><br style="font-weight: bold;">
</div>
<span style="font-weight: bold;">&nbsp;</span><br>
<br>
8) Now its time to run the osgdem example to generate your PagedLOD
database, the more levels you generate the longer it will take
(exponentially so). 'osgdem' is just a front end to osgTerrain::DataSet
where all the hard work happens. Here's what to run : <br>
<br>
<div style="margin-left: 40px;"><span style="font-weight: bold;">osgdem
--xx 10 --yy 10 -t ../ps_texture.tif \</span><br
style="font-weight: bold;">
<span style="font-weight: bold;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;
&nbsp; &nbsp;
--xx 10 --yy 10 -d ../ps_height.tif \</span><br
style="font-weight: bold;">
<span style="font-weight: bold;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;
-l 8 \</span><br style="font-weight: bold;">
<span style="font-weight: bold;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp; -v 0.1 \</span><br style="font-weight: bold;">
<span style="font-weight: bold;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
-o puget.ive</span><br>
</div>
<br>
Then go away for lunch, afternoon and tea, as generating this much data
takes a while... If you don't wish to wait for the full database then
reduce the number of levels it generates by setting the -l option to a
lower value such as 3.<br>
<br>
The command line options used above are: <br>
<div style="margin-left: 40px;">&nbsp;<br>
The first part the --xx and --yy is specifying the size of the pixels
in meters, since these png/tif don't have any geospatial data of their
own, if you have geospatialised files then you won't need this.<br>
<br>
The second part -t &lt;filename&gt; is the option for specificing the
texture maps to use, you can use as many times as you wish,
osgTerrain::DataSet will moziac them into a single database. &nbsp;<br>
<br>
The third part -d is the option for specifying the digital elevation
maps to use, as with the textures you can use as many as you like. <br>
&nbsp;<br>
The -l option specificies the maximum number of levels to generate. If
you use a large number then the database generation will stop once the
max resolution of your source data is matched by the resulting database.
The database generation will decend further where there is high res
source
data, decend less where there is lower res data. <br>
<br>
The -v option specifies the scaling factor which the height is
multiplied by.<br>
<br>
And finally the -o &lt;filename&gt; is the output format to generate the
databases in. This will be the name of the topmost file in the one you
should load. It can be a .ive or a .osg. The .ive is faster and has
embedded files.&nbsp;<br>
</div>
<br>
9) Time to play. Simply load the database in your app (make sure it
supports the osgDB::DatabasePager - see osgsimplepager
example for details). The standard osgviewer works just fine so,
here goes: <br>
&nbsp;<br>
&nbsp;&nbsp; <span style="font-weight: bold;">osgviewer output.ive </span><br>
&nbsp;<br>
<br>
10) You don't actually have to wait for osgdem to complete before you
can browse the database, since osgdem generates
the topmost tiles first. Its not totally robust since osgviewer can end
up
loading tiles that are still being written by osgdem, but it doesn't
crash
here under Linux, so you might be lucky too. <br>
<br>
11) If your imagery and DEMs have geospatial coords associated with
them then the -xx, --yy and -v options will not be required, making
it much simplier to specify - you just need to specifiy options such as
<span style="font-weight: bold;">-t imge.tif</span> and -d terran.dt0
without any need to set the coordinate system.<br>
<br>
12) osgdem can automatically handle mosaicing of sets of files. These
can be specified via a sequence of <span style="font-weight: bold;">-t
&lt;filename&gt;</span> and <span style="font-weight: bold;">-d
&lt;filename&gt;</span> pairs on the commandline, or via <span
style="font-weight: bold;">-t &lt;directoryname&gt;</span> and <span
style="font-weight: bold;">-d &lt;directoryname&gt;.</span><br>
&nbsp;<br>
<hr style="width: 100%; height: 2px;">
<h3><a name="osgdem_options"></a>osgdem options</h3>
There are of osgdem options to use, to list the full ranges of options
do:<br>
<br>
<div style="margin-left: 40px;"><span style="font-weight: bold;">osgdem
--help</span><br>
</div>
<br>
And you should see:<br>
<br>
<div style="margin-left: 40px;"><br>
<span style="font-family: monospace; font-weight: bold;">osgdem --help</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">Usage: osgdem [options] filename
...</span><br style="font-family: monospace;">
<span style="font-family: monospace;">Options:</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;
--HEIGHT_FIELD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Create a height field database</span><br style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;
--LOD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Create a LOD'd database</span><br style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;
--POLYGONAL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Create a height field database</span><br style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;
--PagedLOD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Create a PagedLOD'd database</span><br style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;
--RGB-16&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Use 16bit RGB destination imagery</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;
--RGB-24&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Use 24bit RGB destination imagery</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;
--comment&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Added a comment/description string to</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
the top most node in the dataset</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;
--compressed&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Use OpenGL compression on destination</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
imagery</span><br style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp; --cs &lt;coordinates
system string&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Set the
coordinates system of source</span><br style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
imagery, DEM or destination database.</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
The string may be any of the usual</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
GDAL/OGR forms, complete WKT, PROJ.4,</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
EPS</span><br style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;
--max-anisotropy&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Max anisotropy level to use when</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
texturing, defaults to 1.0.</span><br style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;
--max-visible-distance-of-top-level&nbsp;&nbsp;&nbsp;&nbsp; Set the
maximum visible distance that</span><br style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
the top most tile can be viewed at</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;
--mip-mapping-hardware&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Use mip mapped textures, and generate</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
the mipmaps in hardware when</span><br style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
available.</span><br style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;
--mip-mapping-imagery&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Use mip mapped textures, and generate</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
the mipmaps in imagery.</span><br style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;
--no-mip-mapping&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Disable mip mapping of textures</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;
--radius-to-max-visible-distance-ratio&nbsp; Set the maximum visible
distance ratio</span><br style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
for all tiles apart from the top most</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
tile. The maximum visuble distance is</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
computed from the ratio * tile radius.</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp; --skirt-ratio
&lt;float&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Set the ratio of skirt height to tile</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
size</span><br style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;
--tile-image-size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Set the tile maximum image size</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;
--tile-terrain-size&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Set the tile maximum terrain size</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp; --wkt &lt;WKT
string&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Set the coordinates system of source</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
imagery, DEM or destination database</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
in WellKownText form.</span><br style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp; --wkt-file &lt;WKT
file&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Set the coordinates system of source</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
imagery, DEM or destination database</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
by as file containing WellKownText</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
definition.</span><br style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp; -d
&lt;filename&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Specify the digital elevation map</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
input file to process</span><br style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp; -e &lt;x&gt; &lt;y&gt;
&lt;w&gt;
&lt;h&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Extents of the model to generate</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp; -h or
--help&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Display this information</span><br style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp; -l
&lt;numOfLevels&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Specify the number of PagedLOD levels</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
to generate</span><br style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp; -m
&lt;filename&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Specify the 3D database model input</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
file to process</span><br style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp; -o
&lt;outputfile&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Specify the output master file to</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
generate</span><br style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp; -t
&lt;filename&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Specify the texture map input file to</span><br
style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
process</span><br style="font-family: monospace;">
<span style="font-family: monospace;">&nbsp;
-v&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Set the vertical multiplier</span><br style="font-family: monospace;">
<br style="font-family: monospace;">
<br>
</div>
</body>
</html>

View File

@@ -1,290 +0,0 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="GENERATOR" content="Mozilla/4.75C-SGI [en] (X11; I; IRIX64 6.5 IP27) [Netscape]">
<title>Scene graph viewer</title>
</head>
<body text="#000000" bgcolor="#FFFFFF" link="#0000EE" vlink="#551A8B" alink="#FF0000">
<img SRC="images/OpenSceneGraphBanner_Distribution.jpg">
<table>
<tr>
<td><a href="index.html">Index</a> </td>
<td><a href="introduction.html">Introduction</a> </td>
<td><a href="contents.html">Contents</a> </td>
<td><a href="install.html">Install</a> </td>
<td><a href="dependencies.html">Dependencies</a> </td>
<td><a href="examples.html">Demos</a> </td>
<td><a href="data.html">Data</a> </td>
<td><a href="osgviewer.html">Viewer</a> </td>
<td><a href="stereo.html">Stereo</a> </td>
<td><a href="osgdem.html">osgdem</a></td>
<td><a href="plan.html">Plan</a> </td>
<td><a href="documentation.html">Reference Guides</a> </td>
</tr>
</table>
<h2><u>osgProducer::Viewer / Scene Graph Viewer (osgviewer) keyboard bindings:</u></h2>
<p><br>
<table BORDER COLS=2 WIDTH="100%" NOSAVE >
<tr NOSAVE>
<td WIDTH="10%" NOSAVE><b><u>Key</u></b></td>
<td><u>Binding</u></td>
</tr>
<tr>
<td>
<center><font size=+2>'1'</font></center>
</td>
<td>Select the trackball camera manipulator.
<blockquote>Left mouse button - rotate,
<br>Middle (or Left &amp; Right) mouse button - pan,
<br>Right mouse button - zoom.</blockquote>
</td>
</tr>
<tr>
<td>
<center><font size=+2>'2'</font></center>
</td>
<td>Select the flight camera manipulator.
<blockquote>Left mouse button - speed up,
<br>Middle (or Left &amp; Right) mouse button - stop,
<br>Right mouse button - slow down, reverse.
<br>Move mouse left to roll left, right to roll right.
<br>Move mouse back (down) to pitch nose up, forward to pitch down.
<br>In mode Q, the default, selected by pressing 'q'
<blockquote>The flight path is yawed automatically into the turn to produce
a similar effect as flying an aircaft.</blockquote>
In mode A, selected by pressing 'a'
<blockquote>The flight path is not yawed automatically into the turn, producing
a similar effect as space/marine flight.</blockquote>
</blockquote>
</td>
</tr>
<tr>
<td>
<center><font size=+2>'3'</font></center>
</td>
<td>Select the drive camera manipulator.
<br>&nbsp;
<blockquote>In mode Q, the default, selected by pressing 'q'</blockquote>
<blockquote>
<blockquote>Move mouse left to turn left, right to turn right.
<br>Move mouse back (down) to reverse, forward to drive forward.</blockquote>
In mode A, selected by pressing 'a'
<blockquote>Move mouse left to turn left, right to turn right.
<br>Left mouse button - speed up,
<br>Middle (or Left &amp; Right) mouse button - stop,
<br>Right mouse button - slow down, reverse.</blockquote>
</blockquote>
</td>
</tr>
<tr>
<td>
<center><b><font size=+2>'+'</font></b></center>
</td>
<td>Half the frame delay which speeds up the frame rate on Linux and
<br>Windows.</td>
</tr>
<tr>
<td>
<center><b><font size=+2>'-'</font></b></center>
</td>
<td>Double the frame delay and therefore reduce the frame rate on Linux
and Windows.</td>
</tr>
<tr>
<td>
<center><b><font size=+2>'/'</font></b></center>
</td>
<td>Divide the Level-Of-Detail (LOD) bias by 1.5, to encourage the selection
of more complex LOD children.</td>
</tr>
<tr>
<td>
<center><b><font size=+2>'*'</font></b></center>
</td>
<td>Multiple the Level-of-Detail (LOD) bias by 1.5, to encourage the
<br>selection of less complex LOD children.</td>
</tr>
</table>
<table BORDER=3 CELLSPACING=3 CELLPADDING=3 NOSAVE >
<tr NOSAVE>
<td WIDTH="15%" NOSAVE>
<center><b><font size=+2>'c'&nbsp;</font></b></center>
</td>
<td>Toggle Small Feature Culling on or off.</td>
</tr>
<tr>
<td>
<center><b><font size=+2>'C'</font></b></center>
</td>
<td>Toggle View Frustum Culling on or off.</td>
</tr>
<tr>
<td>
<center><b><font size=+2>'d'</font></b></center>
</td>
<td>Toggle use of OpenGL's display lists.</td>
</tr>
<tr>
<td>
<center><b><font size=+2>'b'</font></b></center>
</td>
<td>Toggle OpenGL's backface culling.</td>
</tr>
<tr>
<td>
<center><b><font size=+2>'t'</font></b></center>
</td>
<td>Toggle OpenGL texturing on or off.</td>
</tr>
<tr>
<td>
<center><b><font size=+2>'T'</font></b></center>
</td>
<td>Toggle OpenGL two-sided lighting on or off.</td>
</tr>
<tr>
<td>
<center><b><font size=+2>'l'</font></b></center>
</td>
<td>Toggle OpenGL lighting on or off.</td>
</tr>
<tr>
<td>
<center><b><font size=+2>'L'</font></b></center>
</td>
<td>Toggle SceneView lighting mode between HEADLIGHT, SKY_LIGHT and NO_SCENEVIEW_LIGHT.</td>
</tr>
<tr>
<td>
<center><b><font size=+2>'s'</font></b></center>
</td>
<td>Toggle OpenGL shade model between flat and smooth shading.</td>
</tr>
<tr>
<td>
<center>'<b><font size=+2>w'</font></b></center>
</td>
<td>Toggle OpenGL polygon mode between solid, wireframe and points modes.</td>
</tr>
<tr>
<td>
<center><b><font size=+2>'i'</font></b></center>
</td>
<td>Calculate and report the intersections with the scene under thecurrent
mouse x and mouse y position.</td>
</tr>
<tr>
<td>
<center><b><font size=+2>'r'</font></b></center>
</td>
<td>Calculate and report the intersections with the scene under the currentmouse
x and mouse y position and delete the nearest interesected geoset.</td>
</tr>
<tr>
<td>
<center><b><font size=+2>'p'</font></b></center>
</td>
<td>Print frame rate statistics on each frame.</td>
</tr>
<tr>
<td>
<center><b><font size=+2>'o'</font></b></center>
</td>
<td>Output the loaded scene to 'saved_model.osg'.</td>
</tr>
<tr>
<td>
<center><b><font size=+2>'O'</font></b></center>
</td>
<td>Snap a screen shot image and write it out 'screenshot.bmp'.</td>
</tr>
<tr>
<td>
<center><b><font size=+2>'?'/'h'</font></b></center>
</td>
<td>Print out osgviewer's keyboard bindings.</td>
</tr>
<tr>
<td>
<center><b><font size=+2>'f'</font></b></center>
</td>
<td>
<center>Toggle between fullscreen and the previous window size. Note Producer
fullscreen works properly on Windows and Irix, but on Linux it just maximizes
the window and leaves the window's borders.</center>
</td>
</tr>
<tr>
<td>
<center><b><font size=+2>Space</font></b></center>
</td>
<td>Reset scene to the default view.</td>
</tr>
<tr>
<td>
<center><b><font size=+2>Esc&nbsp;</font></b></center>
</td>
<td>&nbsp; Exit osgviewer.</td>
</tr>
</table>
</body>
</html>

View File

@@ -1,77 +0,0 @@
<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1">
<meta name="GENERATOR"
content="Mozilla/4.77 [en] (X11; U; Linux 2.4.3-20mdk i686) [Netscape]">
<title>Plans for future developments</title>
</head>
<body text="#000000" bgcolor="#ffffff" link="#0000ff" vlink="#990066"
alink="#ff0000">
<img src="images/OpenSceneGraphBanner_Distribution.jpg">
<table>
<tbody>
<tr>
<td><a href="index.html">Index</a></td>
<td><a href="introduction.html">Introduction</a></td>
<td><a href="contents.html">Contents</a></td>
<td><a href="install.html">Install</a></td>
<td><a href="dependencies.html">Dependencies</a></td>
<td><a href="examples.html">examples</a></td>
<td><a href="data.html">Data</a></td>
<td><a href="osgviewer.html">Viewer</a></td>
<td><a href="stereo.html">Stereo</a></td>
<td><a href="osgdem.html">osgdem</a></td>
<td><a href="plan.html">Plan</a></td>
<td><a href="documentation.html">Reference Guides</a></td>
</tr>
</tbody>
</table>
<h2>
<u>Plans for future developments</u></h2>
Now we have reached the beta phase (0.9.x) of OpenScenegGraph project,
and are now working towards the full 1.0 release, with a likely release
date in second half of 2004.
<h3>Future work include:</h3>
<ul>
<li>
StateSet composite structure for managing multi-pass effects and
alternate rendering implemations. This will allow one to manage the use
of extensions and provide effecient fallback rendering paths.</li>
<li>
Clean up the API for managing multi-stage and multi-pass rendering
within
the scene graph.</li>
<li>
Support for clustering in Open Producer and osgProducer.</li>
<li>
Enhance osgDB and plugins to allow them to be used with alternate input
streams. Add support for native binary file format for rapid loading
and saving of scene graphs.</li>
<li>Introduce a new library osgEnvironment, which adds support for
creating
shapes and environmental effects such as stars, planets, cloud layers,
oceans and
ground planes.</li>
<li>
Integrate unit tests for all classes, using the osgUtx Unit Test
Framework.</li>
</ul>
<h3>
Books, tutorials and demonstrations</h3>
<ul>
<li>
Don Burns and Robert Osfield to write the OpenSceneGraph book!</li>
<li>
Development of tutorials to published as part of the distribution and
on
the bazaar</li>
<li>
Development of technology demonstrations for shows, presentations and
training.</li>
</ul>
<br>
<a href="mailto:don@andesengineering.com"></a>
</body>
</html>

View File

@@ -1,229 +0,0 @@
<!DOCTYPE doctype PUBLIC "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1">
<meta name="GENERATOR"
content="Mozilla/4.77 [en] (X11; U; Linux 2.4.3-20mdk i686) [Netscape]">
<title>Native stereo support</title>
</head>
<body text="#000000" bgcolor="#ffffff" link="#0000ee" vlink="#551a8b"
alink="#ff0000">
<img src="images/OpenSceneGraphBanner_Distribution.jpg">
<table>
<tbody>
<tr>
<td><a href="index.html">Index</a></td>
<td><a href="introduction.html">Introduction</a></td>
<td><a href="contents.html">Contents</a></td>
<td><a href="install.html">Install</a></td>
<td><a href="dependencies.html">Dependencies</a></td>
<td><a href="examples.html">examples</a></td>
<td><a href="data.html">Data</a></td>
<td><a href="osgviewer.html">Viewer</a></td>
<td><a href="stereo.html">Stereo</a></td>
<td><a href="osgdem.html">osgdem</a></td>
<td><a href="plan.html">Plan</a></td>
<td><a href="documentation.html">Reference Guides</a></td>
</tr>
</tbody>
</table>
<h2> <u>Native Support for Stereo</u></h2>
The OSG has support for anaglyphic stereo (i.e. red/green or red/cyan
glasses), quad buffered stereo (i.e. active stereo using shutter
glasses, or passive stereo using polarized projectors &amp; glasses)
and horizontal and vertical split window stereo implementations. Almost
all OSG applications have the potential for stereo support simply by
setting the relevant environmental variables, or via command line
arguments. Little or no code changes will be required, the support is
handled transparently inside osgUtil::SceneView's handling of
rendering. It is a simple as: <br>
<b>&nbsp;&nbsp;&nbsp; osgviewer --stereo cow.osg</b>
<p>If the user is planning to use head tracked stereo, or a cave then
it is currently recommend to set it up via a VR toolkit such as
VRjuggler, in this case refer to the VR toolkits handling of stereo,
and keep all the OSG's stereo specific environment variables (below)
set to OFF, or set the values to off within own your own applications. <br>
</p>
<hr>
<h3> The environmental variables of interest:</h3>
<table>
<tbody>
<tr>
<td><b>OSG_STEREO</b></td>
<td><b>ON</b></td>
<td>Turn stereo on&nbsp;</td>
</tr>
<tr>
<td><br>
</td>
<td><b>OFF</b></td>
<td>Turn stereo off (default).&nbsp;</td>
</tr>
<tr>
<td><b>OSG_STEREO_MODE</b></td>
<td><b>ANAGLYPHIC</b></td>
<td>Use anaglyphic stereo when in stereo (default).&nbsp;</td>
</tr>
<tr>
<td><br>
</td>
<td><b>QUAD_BUFFER</b></td>
<td>Use quad buffered stereo when in stereo.&nbsp;</td>
</tr>
<tr>
<td><br>
</td>
<td><b>HORIZONTAL_SPLIT</b></td>
<td>Use horizontal split stereo mode when in stereo&nbsp;</td>
</tr>
<tr>
<td><br>
</td>
<td><b>VERTICAL_SPLIT</b></td>
<td>Use vertical split stereo mode when in stereo&nbsp;</td>
</tr>
<tr>
<td><b>OSG_SCREEN_DISTANCE</b></td>
<td><b>0.50</b></td>
<td>Set the distance the viewer is from screen in metres (default
shown)&nbsp;</td>
</tr>
<tr>
<td><b>OSG_SCREEN_HEIGHT</b></td>
<td><b>0.26</b></td>
<td>Set the height if image on the screen in metres (default
shown)&nbsp;</td>
</tr>
<tr>
<td><b>OSG_EYE_SEPARATION</b></td>
<td><b>0.06</b></td>
<td>Set the eye separation - interoccular distance (default
shown.)&nbsp;</td>
</tr>
<tr>
<td><b>OSG_SPLIT_STEREO_HORIZONTAL_SEPARATION</b></td>
<td><b>42</b></td>
<td>Set the number of pixels between the left and right viewports
(default shown).</td>
</tr>
<tr>
<td><b>OSG_SPLIT_STEREO_HORIZONTAL_EYE_MAPPING</b></td>
<td><b>LEFT_EYE_LEFT_VIEWPORT</b></td>
<td>Set the left eye to render to left viewport, right eye to
right viewport (default).&nbsp;</td>
</tr>
<tr>
<td><br>
</td>
<td><b>LEFT_EYE_RIGHT_VIEWPORT</b></td>
<td>Set the left eye to render to right viewport, right eye to
left viewport.&nbsp;</td>
</tr>
<tr>
<td><b>OSG_SPLIT_STEREO_VERTICAL_SEPARATION</b></td>
<td><b>42</b></td>
<td>Set the number of pixels between the top and bottom viewports
(default shown).</td>
</tr>
<tr>
<td><b>OSG_SPLIT_STEREO_VERTICAL_EYE_MAPPING</b></td>
<td><b>LEFT_EYE_TOP_VIEWPORT</b></td>
<td>Set the left eye to render to top viewport, right eye to
bottom viewport (default).&nbsp;</td>
</tr>
<tr>
<td><br>
</td>
<td><b>LEFT_EYE_BOTTOM_VIEWPORT</b></td>
<td>Set the left eye to render to bottom viewport, right eye to
top viewport.&nbsp;</td>
</tr>
</tbody>
</table>
<hr>
<h3> Command line arguments can be used to override these settings:</h3>
<table>
<tbody>
<tr>
<td><b>-stereo</b></td>
<td><br>
</td>
<td>Switch on stereo.&nbsp;</td>
</tr>
<tr>
<td><b>-stereo</b></td>
<td><b>ON</b></td>
<td>Switch on stereo.&nbsp;</td>
</tr>
<tr>
<td><br>
</td>
<td><b>OFF</b></td>
<td>Switch off stereo.&nbsp;</td>
</tr>
<tr>
<td><br>
</td>
<td><b>ANAGLYPHIC</b></td>
<td>Switch on ANAGLYPHIC stereo.&nbsp;</td>
</tr>
<tr>
<td><br>
</td>
<td><b>QUAD_BUFFER</b></td>
<td>Switch on QUAD_BUFFER stereo.&nbsp;</td>
</tr>
<tr>
<td><br>
</td>
<td><b>VERTICAL_SPLIT</b></td>
<td>Switch on VERTICAL_SPLIT stereo.&nbsp;</td>
</tr>
<tr>
<td><br>
</td>
<td><b>HORIZONTAL_SPLIT</b></td>
<td>Switch on VERTICAL_SPLIT stereo.&nbsp;</td>
</tr>
</tbody>
</table>
<hr>
<h3> Examples:</h3>
To invoke stereo from the comandline: <br>
<b>&nbsp;&nbsp;&nbsp; osgviewer -stereo cow.osg</b>
<p>To invoke quad buffered stereo from the commandline: <br>
<b>&nbsp;&nbsp;&nbsp; osgviewer -stereo QUAD_BUFFER cow.osg</b> </p>
<p>To force all apps to start up in quad buffered stereo (if system
supports it) <br>
<b>&nbsp;&nbsp;&nbsp; export OSG_STEREO=ON</b> <br>
<b>&nbsp;&nbsp;&nbsp; export OSG_STEREO_MODE=QUAD_BUFFER</b> <br>
<b>&nbsp;&nbsp;&nbsp; osgviewer cow.osg</b> </p>
<p>To set quad buffered stereo to the default, but use the commandline
to switch stereo on: <br>
<b>&nbsp;&nbsp;&nbsp; export OSG_STEREO=OFF</b> <br>
<b>&nbsp;&nbsp;&nbsp; export OSG_STEREO_MODE=QUAD_BUFFER</b> <br>
<b>&nbsp;&nbsp;&nbsp; osgviewer -stereo cow.osg</b> </p>
<p> </p>
<hr>
<h3> Size matters:</h3>
For appropriate depth perception the stereo code creates separate left
and eye views, both the frustum and modelview are shifted to account for
the separate eye views.&nbsp; To achieve the right amount of adjustment
the OSG requires the users eye separation, the distance from the eyes to
the screen and the height of the screen.&nbsp; The OSG will use the
defaults of 0.05m,0.5m and 0.26m respectively which are assumed to be
reasonable defaults for most users workstation configurations, note the
OSG_SCREEN_HEIGHT is the image height rather than total size of your
monitor/display surface.&nbsp; For the best stereo effects please
measure these values and set them up via the environmental
variables.&nbsp; Once set the views you get should give improved depth
perception.&nbsp; A good way of measuring how well you are configured
for your display is to fly away from objects (using the
FlightManipulator for instance, but not the TrackballManipulator, see
below) so that they go of toward infinity. As they move away the offset
between the two images should tend towards your eye separation, if you
achieve this then the object will be perceived as at infinity. <br>
<br>
</body>
</html>

View File

@@ -1,116 +0,0 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="GENERATOR" content="Mozilla/4.77 [en] (X11; U; Linux 2.4.3-20mdk i686) [Netscape]">
<title>Documentionn Index</title>
</head>
<body text="#000000" bgcolor="#FFFFFF" link="#0000EE" vlink="#551A8B" alink="#FF0000">
<img SRC="doc/images/OpenSceneGraphBanner_Distribution.jpg">
<table>
<tr>
<td><a href="doc/index.html">Index</a></td>
<td><a href="doc/introduction.html">Introduction</a></td>
<td><a href="doc/contents.html">Contents</a></td>
<td><a href="doc/install.html">Install</a></td>
<td><a href="doc/dependencies.html">Dependencies</a></td>
<td><a href="doc/examples.html">Examples</a></td>
<td><a href="doc/data.html">Data</a></td>
<td><a href="doc/osgviewer.html">Viewer</a></td>
<td><a href="doc/stereo.html">Stereo</a></td>
<td><a href="doc/osgdem.html">osgdem</a></td>
<td><a href="doc/plan.html">Plan</a></td>
<td><a href="doc/documentation.html">Reference Guides</a></td>
</tr>
</table>
<h2>
<u>Index</u></h2>
<table>
<tr>
<td><a href="doc/introduction.html">Introduction</a></td>
<td>Introduction to Scene Graph in general, the OpenSceneGraph project
itself and how to use it.</td>
</tr>
<tr>
<td><a href="doc/contents.html">Contents</a></td>
<td>A list of the directories in the distribution.</td>
</tr>
<tr>
<td><a href="doc/install.html">Install</a></td>
<td>A guide of how to compile and install on all the supported platforms.</td>
</tr>
<tr>
<td><a href="doc/dependencies.html">Dependencies</a></td>
<td>Listing of all the dependencies of the project, with links of where
to download them.</td>
</tr>
<tr>
<td><a href="doc/examples.html">Examples</a></td>
<td>Thumbnails and info on all the example applications which come with this
distribution.</td>
</tr>
<tr>
<td><a href="doc/data.html">Data</a></td>
<td>List of websites where one can download interesting and useful data
from.</td>
</tr>
<tr>
<td><a href="doc/sgv.html">Viewer</a></td>
<td>List of key bindings support by the osgGLUT::Viewer and hence sgv and
the rest of demos.</td>
</tr>
<tr>
<td><a href="doc/stereo.html">Stereo</a></td>
<td>Documentation on the commandline parameters and environmental variables
which control stereo.</td>
</tr>
<tr>
<td><a href="doc/osgdem.html">osgdem</a></td>
<td>Documentation on the how to use the osgdem utility to generate paged geospatial databases.</td>
</tr>
<tr>
<td><a href="doc/plan.html">Plan</a></td>
<td>Details of development plans.</td>
</tr>
<tr>
<td><a href="doc/documentation.html">Reference Guides</a></td>
<td>Reference guides of the core libraries.</td>
</tr>
</table>
</body>
</html>