| 1 | <!doctype html public "-//w3c//dtd html 4.0 transitional//en"> |
|---|
| 2 | <html> |
|---|
| 3 | <head> |
|---|
| 4 | <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> |
|---|
| 5 | <meta name="GENERATOR" content="Mozilla/4.77 [en] (X11; U; Linux 2.4.3-20mdk i686) [Netscape]"> |
|---|
| 6 | <title>examples</title> |
|---|
| 7 | </head> |
|---|
| 8 | <body text="#000000" bgcolor="#FFFFFF" link="#0000FF" vlink="#990066" alink="#FF0000"> |
|---|
| 9 | <img SRC="images/OpenSceneGraphBanner_Distribution.jpg" height=77 width=640> |
|---|
| 10 | <table> |
|---|
| 11 | <tr> |
|---|
| 12 | <td><a href="index.html">Index</a></td> |
|---|
| 13 | |
|---|
| 14 | <td><a href="introduction.html">Introduction</a></td> |
|---|
| 15 | |
|---|
| 16 | <td><a href="contents.html">Contents</a></td> |
|---|
| 17 | |
|---|
| 18 | <td><a href="install.html">Install</a></td> |
|---|
| 19 | |
|---|
| 20 | <td><a href="dependencies.html">Dependencies</a></td> |
|---|
| 21 | |
|---|
| 22 | <td><a href="examples.html">examples</a></td> |
|---|
| 23 | |
|---|
| 24 | <td><a href="data.html">Data</a></td> |
|---|
| 25 | |
|---|
| 26 | <td><a href="osgviewer.html">Viewer</a></td> |
|---|
| 27 | |
|---|
| 28 | <td><a href="stereo.html">Stereo</a></td> |
|---|
| 29 | |
|---|
| 30 | <td><a href="plan.html">Plan</a></td> |
|---|
| 31 | |
|---|
| 32 | <td><a href="documentation.html">Reference Guides</a></td> |
|---|
| 33 | </tr> |
|---|
| 34 | </table> |
|---|
| 35 | |
|---|
| 36 | <h2> |
|---|
| 37 | <a NAME="Running the demos"></a><u>Running the examples</u></h2> |
|---|
| 38 | Once the OpenSceneGraph is <a href="install.html">installed</a> you will |
|---|
| 39 | need place the location where it was installed on the you systems paths |
|---|
| 40 | environmental variables, and then download the <a href="data.html">demo |
|---|
| 41 | data</a> and set the <b>OSG_FILE_PATH</b> so that the file loading can |
|---|
| 42 | locate the datasets. It is probably worth setting you autoexec.bat, .bashrc |
|---|
| 43 | or.tcsh etc to pick up on these settings so that next time you log in everything |
|---|
| 44 | is in easy reach. |
|---|
| 45 | <li> |
|---|
| 46 | Windows:</li> |
|---|
| 47 | |
|---|
| 48 | <ul><b>set PATH = C:/all/the/exisitng/paths;C:/OpenSceneGraph/bin</b> |
|---|
| 49 | <br><b>set OSG_FILE_PATH = C:/OpenSceneGraph-Data;C:/OpenSceneGraph-Data/Images;C:/OpenSceneGraph-Data/Fonts</b></ul> |
|---|
| 50 | |
|---|
| 51 | <li> |
|---|
| 52 | Unix</li> |
|---|
| 53 | |
|---|
| 54 | <ul><b>export PATH = ${PATH}:/home/myaccount/OpenSceneGraph/bin</b> |
|---|
| 55 | <br><b>export LD_LIBRARY_PATH = ${LD_LIBRARY_PATH}:/home/myaccount/OpenSceneGraph/lib</b> |
|---|
| 56 | <br><b>export OSG_FILE_PATH = /home/myaccount/OpenSceneGraph-Data:/home/myaccount/OpenSceneGraph-Data/Images:/home/myaccount/OpenSceneGraph-Data/Fonts</b> |
|---|
| 57 | <br>or |
|---|
| 58 | <br><b>setenv PATH ${PATH}:/home/myaccount/OpenSceneGraph/bin</b> |
|---|
| 59 | <br><b>setenv LD_LIBRARY_PATH = ${LD_LIBRARY_PATH}:/home/myaccount/OpenSceneGraph/lib</b> |
|---|
| 60 | <br><b>setenv OSG_FILE_PATH /home/myaccount/OpenSceneGraph-Data:/home/myaccount/OpenSceneGraph-Data/Images:/home/myaccount/OpenSceneGraph-Data/Fonts</b></ul> |
|---|
| 61 | |
|---|
| 62 | <li> |
|---|
| 63 | MacOSX:</li> |
|---|
| 64 | |
|---|
| 65 | <ul><b>setenv PATH "${PATH}:${OSGHOME}/lib:${OSGHOME}/lib/osgPlugins"</b> |
|---|
| 66 | <br><b>setenv DYLD_LIBRARY_PATH "${OSGHOME}/lib:${OSGHOME}/lib/osgPlugins"</b> |
|---|
| 67 | <br><b>setenv OSG_FILE_PATH "/home/myaccount/OpenSceneGraph-Data:/home/myaccount/OpenSceneGraph-Data/Images:/home/myaccount/OpenSceneGraph-Data/Fonts"</b></ul> |
|---|
| 68 | |
|---|
| 69 | All the demos run on the commandline, most requiring parameters, such as |
|---|
| 70 | what file to load, if you are in any doubt just run the application and |
|---|
| 71 | it will either run, or provide help on what options it accepts. |
|---|
| 72 | <br> |
|---|
| 73 | <table> |
|---|
| 74 | <tr> |
|---|
| 75 | <td><a href="osgviewer.html"><img SRC="images/osgviewer_cow.jpg" BORDER=0 height=100 width=128></a></td> |
|---|
| 76 | |
|---|
| 77 | <td><b>osgviewer cow.osg</b></td> |
|---|
| 78 | |
|---|
| 79 | <td>The scene graph viewer demo uses osgProducer::Viewer to bring up a basic |
|---|
| 80 | viewer. To find out what command line arguments it takes simply run osgviewer |
|---|
| 81 | without any arguments. To load a model simple run osgviewer filename.ext. The |
|---|
| 82 | osgProducer::Viewer provides an extensive set of operations that can be used |
|---|
| 83 | to display information about the loaded database such as performance stats, |
|---|
| 84 | through to output a snapshot of the screen, which is how these thumbnails |
|---|
| 85 | were created. For a full list of key presses and mouse interaction read |
|---|
| 86 | the <a href="osgviewer.html">osgviewer</a> documentation.</td> |
|---|
| 87 | </tr> |
|---|
| 88 | |
|---|
| 89 | <tr> |
|---|
| 90 | <td><a href="stereo.html"><img SRC="images/osgviewer_stereo.jpg" BORDER=0 height=100 width=128></a></td> |
|---|
| 91 | |
|---|
| 92 | <td><b>osgviewer --stereo cessna.osg</b></td> |
|---|
| 93 | |
|---|
| 94 | <td>The scene graph viewer also supports anaglyphic, quad buffered, and |
|---|
| 95 | split screen stereo modes, for a full list of options and environmental |
|---|
| 96 | variables see the <a href="stereo.html">stereo</a> documentation.</td> |
|---|
| 97 | </tr> |
|---|
| 98 | |
|---|
| 99 | <tr> |
|---|
| 100 | <td><img SRC="images/hangglide.jpg" BORDER=0 height=100 width=128></td> |
|---|
| 101 | |
|---|
| 102 | <td><b>hangglide</b></td> |
|---|
| 103 | |
|---|
| 104 | <td>The hang glide demo creates a simple flying site (Don Burns local hang |
|---|
| 105 | glide site in fact!), demonstrating how to create simple terrain, trees |
|---|
| 106 | and skydomes, and how to implement a simple flight camera manipulator to |
|---|
| 107 | allow the user to fly around. </td> |
|---|
| 108 | </tr> |
|---|
| 109 | |
|---|
| 110 | <tr> |
|---|
| 111 | <td><img SRC="images/osgbillboard.jpg" BORDER=0 height=100 width=128></td> |
|---|
| 112 | |
|---|
| 113 | <td><b>osgbillboard lz.rgb</b></td> |
|---|
| 114 | |
|---|
| 115 | <td>Demonstrates how to create the various types of billboard supported |
|---|
| 116 | by the OpenSceneGraph. Billboards are typically used for trees or particles |
|---|
| 117 | effects. </td> |
|---|
| 118 | </tr> |
|---|
| 119 | |
|---|
| 120 | <tr> |
|---|
| 121 | <td><img SRC="images/osghud.jpg" BORDER=0 height=100 width=128></td> |
|---|
| 122 | |
|---|
| 123 | <td><b>osghud glider.osg</b></td> |
|---|
| 124 | |
|---|
| 125 | <td>Very similar to the basic osgviewer demo, but adds an orthographic projection |
|---|
| 126 | over the top of the main 3D view to create a head up display effect. Also |
|---|
| 127 | demonstrates how to use osgText. .</td> |
|---|
| 128 | </tr> |
|---|
| 129 | |
|---|
| 130 | <tr> |
|---|
| 131 | <td><img SRC="images/osgimpostor.jpg" BORDER=0 height=100 width=128></td> |
|---|
| 132 | |
|---|
| 133 | <td><b>osgimpostor Town.osg</b></td> |
|---|
| 134 | |
|---|
| 135 | <td>OpenSceneGraph is unique among scene graph in the fact that it supports |
|---|
| 136 | dynamically updated impostors natively, and this demo uses osgUtil::InsertImpostorVisitor |
|---|
| 137 | to traverse the loaded scene graph inserting osg::Importor nodes in place |
|---|
| 138 | of groups and LOD, so you can add Impostor into any of your own datasets! |
|---|
| 139 | The scene graph then takes over full responsibility for managing required |
|---|
| 140 | multistage rendering all dynamically at runtime, whilst keeping it neatly |
|---|
| 141 | encapsulated making it incredible easy to use. The Impostor support demonstrates |
|---|
| 142 | how powerful the multi-stage multi-pass rendering framework that the OpenSceneGraph |
|---|
| 143 | has, almost all other scene graphs have to hardwire such effects into them |
|---|
| 144 | and require significant application coding to do so. </td> |
|---|
| 145 | </tr> |
|---|
| 146 | |
|---|
| 147 | <tr> |
|---|
| 148 | <td><img SRC="images/osgreflect.jpg" BORDER=0 height=100 width=128></td> |
|---|
| 149 | |
|---|
| 150 | <td><b>osgreflect cow.osg</b></td> |
|---|
| 151 | |
|---|
| 152 | <td>An example of how to set up planar reflections using the standard multi-pass |
|---|
| 153 | stencil buffer algorithm. This is all handled within the scene graph, so |
|---|
| 154 | there is no need to hardwire multi-pass effects into your own application. |
|---|
| 155 | .</td> |
|---|
| 156 | </tr> |
|---|
| 157 | |
|---|
| 158 | <tr> |
|---|
| 159 | <td><img SRC="images/osgscribe.jpg" BORDER=0 height=100 width=128></td> |
|---|
| 160 | |
|---|
| 161 | <td><b>osgscribe.cow.osg</b></td> |
|---|
| 162 | |
|---|
| 163 | <td>An example of how to decorate your scene graph geometry for useful |
|---|
| 164 | effects such as scribing. This demo uses two instances of your model, the |
|---|
| 165 | first one uses the state values set in your scene graph, the second instance |
|---|
| 166 | override the polygmode to render it as wireframe, and with a polygon offset |
|---|
| 167 | to ensure it is seen from all angles. These two instance are grouped together |
|---|
| 168 | and then are treated like any other scene graph. </td> |
|---|
| 169 | </tr> |
|---|
| 170 | |
|---|
| 171 | <tr> |
|---|
| 172 | <td><img SRC="images/osgstereoimage.jpg" BORDER=0 height=100 width=128></td> |
|---|
| 173 | |
|---|
| 174 | <td><b>osgstereoimage left.rgb right.rgb</b></td> |
|---|
| 175 | |
|---|
| 176 | <td>An example of use node maks to select different parts of the scene |
|---|
| 177 | graph for different traversals, in this case two separate images are drawn |
|---|
| 178 | for the left and right eyes to generate a stereo 3D image from two flat |
|---|
| 179 | images! .</td> |
|---|
| 180 | </tr> |
|---|
| 181 | |
|---|
| 182 | <tr> |
|---|
| 183 | <td><img SRC="images/osgtext.jpg" BORDER=0 height=100 width=128></td> |
|---|
| 184 | |
|---|
| 185 | <td><b>osgtext</b></td> |
|---|
| 186 | |
|---|
| 187 | <td>An example showing how to creating the various different typs of text |
|---|
| 188 | that the osgText library supports. </td> |
|---|
| 189 | </tr> |
|---|
| 190 | |
|---|
| 191 | <tr> |
|---|
| 192 | <td><img SRC="images/osgtexture.jpg" BORDER=0 height=100 width=128></td> |
|---|
| 193 | |
|---|
| 194 | <td><b>osgtexture lz.rgb reflect.rgb</b></td> |
|---|
| 195 | |
|---|
| 196 | <td>An example showing how to creating the textured quads, each with different |
|---|
| 197 | texture parameters, including anisotrophic filtering and texture compression! </td> |
|---|
| 198 | </tr> |
|---|
| 199 | |
|---|
| 200 | <tr> |
|---|
| 201 | <td><img SRC="images/osgwindows.jpg" BORDER=0 height=100 width=128></td> |
|---|
| 202 | |
|---|
| 203 | <td><b>osgwindows cow.osg</b></td> |
|---|
| 204 | |
|---|
| 205 | <td>An example of multiple windows all running at once. </td> |
|---|
| 206 | </tr> |
|---|
| 207 | </table> |
|---|
| 208 | |
|---|
| 209 | </body> |
|---|
| 210 | </html> |
|---|