Changeset 8231
- Timestamp:
- 04/25/08 16:35:09
- Files:
-
- OpenSceneGraph-TrainingMaterials/trunk/Presentations/C++AndMemoryManagement/CppAndOpenSceneGraph.p3d (modified) (5 diffs)
- OpenSceneGraph-TrainingMaterials/trunk/Presentations/Geometry/Geometry.vym (modified) (previous)
- OpenSceneGraph-TrainingMaterials/trunk/Presentations/Introduction/BuildingOpenSceneGraph.p3d (modified) (8 diffs)
- OpenSceneGraph-TrainingMaterials/trunk/Presentations/Introduction/BuildingOpenSceneGraph.vym (added)
- OpenSceneGraph-TrainingMaterials/trunk/Presentations/Introduction/Introduction.vym (modified) (previous)
- OpenSceneGraph-TrainingMaterials/trunk/Presentations/Maths/MathsAndOpenSceneGraph.p3d (modified) (4 diffs)
- OpenSceneGraph-TrainingMaterials/trunk/Presentations/MultiChannelSystems/Cluster.p3d (modified) (4 diffs)
- OpenSceneGraph-TrainingMaterials/trunk/Presentations/MultiChannelSystems/MultiChannelSystems.vym (modified) (previous)
- OpenSceneGraph-TrainingMaterials/trunk/Presentations/MultiChannelSystems/multidisplays.p3d (deleted)
- OpenSceneGraph-TrainingMaterials/trunk/Presentations/Optimizing/optimization.p3d (modified) (3 diffs)
- OpenSceneGraph-TrainingMaterials/trunk/Presentations/PagedDatabases/databasepaging.p3d (modified) (9 diffs)
- OpenSceneGraph-TrainingMaterials/trunk/Presentations/PortingToOpenSceneGraph/PerformerToOSG.p3d (modified) (5 diffs)
- OpenSceneGraph-TrainingMaterials/trunk/Presentations/SoftwareDevelopment/ProjectManagement.vym (added)
- OpenSceneGraph-TrainingMaterials/trunk/Presentations/Traversers/Traversers.vym (modified) (previous)
- OpenSceneGraph-TrainingMaterials/trunk/Presentations/Viewers/Viewers.vym (modified) (previous)
- OpenSceneGraph-TrainingMaterials/trunk/Presentations/Viewers/osgViewer.p3d (modified) (8 diffs)
- OpenSceneGraph-TrainingMaterials/trunk/Presentations/VolumeRendering/volumes.p3d (modified) (2 diffs)
- OpenSceneGraph-TrainingMaterials/trunk/Presentations/index.vym (modified) (previous)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
OpenSceneGraph-TrainingMaterials/trunk/Presentations/C++AndMemoryManagement/CppAndOpenSceneGraph.p3d
r8196 r8231 24 24 25 25 <template_slide name="front"> 26 <background>Images/ chameleondots-blue.jpg</background>26 <background>Images/default_blue.jpg</background> 27 27 <title></title> 28 28 <base> … … 35 35 36 36 <template_slide name="middle"> 37 <background>Images/ chameleondots-blue.jpg</background>37 <background>Images/default_blue.jpg</background> 38 38 <title></title> 39 39 <base> … … 48 48 49 49 <template_slide name="end"> 50 <background>Images/ chameleondots-blue.jpg</background>50 <background>Images/default_blue.jpg</background> 51 51 <title></title> 52 52 <base> … … 60 60 61 61 <slide inherit="front"> 62 <background>Images/ chameleondots-blue.jpg</background>62 <background>Images/default_blue.jpg</background> 63 63 <title> </title> 64 64 <layer> … … 271 271 If two objects both has ref_ptr to each other then they never can be deleted! 272 272 273 Exercise A_Prerequisitesexplores this issue.273 Exercise 2d_observer_ptr explores this issue. 274 274 </page> 275 275 276 276 <page inherit="end" title="observer_ptr"> 277 New solution, in CVS, to circular references. 277 Solution to circular references - osg::observer_ptr 278 278 279 279 osg::observer_ptr doesn't increment the reference count, but does automatically get reset to 0 when the object its 280 280 observing get deleted. 281 281 282 Now onto the Exercise A_Prerequisites!282 Now onto the Exercises/02_memory! 283 283 </page> 284 284 </presentation> OpenSceneGraph-TrainingMaterials/trunk/Presentations/Introduction/BuildingOpenSceneGraph.p3d
r8196 r8231 22 22 23 23 <template_slide name="front"> 24 <background>Images/ chameleondots-blue.jpg</background>24 <background>Images/default_blue.jpg</background> 25 25 <title></title> 26 26 <base> … … 33 33 34 34 <template_slide name="middle"> 35 <background>Images/ chameleondots-blue.jpg</background>35 <background>Images/default_blue.jpg</background> 36 36 <title></title> 37 37 <base> … … 46 46 47 47 <template_slide name="end"> 48 <background>Images/ chameleondots-blue.jpg</background>48 <background>Images/default_blue.jpg</background> 49 49 <title></title> 50 50 <base> … … 58 58 59 59 <slide inherit="front"> 60 <background>Images/ chameleondots-blue.jpg</background>60 <background>Images/default_blue.jpg</background> 61 61 <title> </title> 62 62 <layer> … … 70 70 <page inherit="middle" title="Main Dependencies"> 71 71 72 Standard C++ 73 74 OpenGL 1.1 or greater 75 72 76 OpenThreads 73 74 - Vital as core osg relies upon it for Threads and Mutexes 75 76 77 Producer 78 79 - Not vital if other Windowing toolkit used 80 81 - osgProducer and all almost examples user it. 82 83 Both use OpenSceneGraph style build system (all written by Don Burns) 77 78 - Now included directly into the core 79 OpenSceneGraph distribution 80 81 84 82 </page> 85 83 … … 88 86 All Optional, if you don't need the associated feature don't compile it. 89 87 90 Full list of dependencie and links to where to get them on openscenegraph.org/downloads/ 88 Full list of dependencies and links to where to get them on OpenSceneGraph website: 89 90 Downloads/Dependencies 91 91 92 92 Image Plugins 93 94 - libtif95 - libungif96 - libpng97 98 - GDAL93 94 - libtif 95 - libungif 96 - libpng 97 - libcurl 98 - GDAL 99 99 100 100 3D Database plugins 101 102 - Performer 103 - Invento/Coin 101 102 - Performer 103 - Invento/Coin 104 - OpenVRML 105 - COLLADA DOM 104 106 105 107 </page> … … 107 109 <page inherit="middle" title="Unix build"> 108 110 Platforms: 111 109 112 - Linux 110 113 - IRIX … … 116 119 - Solaris 117 120 118 All platforms use gmake, and the build commands are: 119 121 All platforms use cmake, and the build commands are: 122 123 ./configure 120 124 make 121 make clean 122 make install 123 make instclean 124 make instliks 125 make cleandepend 126 make clobber 127 make help 125 sudo make install 126 128 127 </page> 129 128 130 129 <page inherit="middle" title="Unix build cont."> 131 130 132 Make configuation files in Make/ 133 134 make also can accept env variables on the commandline i.e. 135 136 make COMPILE_EXAMPLES=yes 137 138 Make/dependencies controls which components are built. 139 140 Create you own custom my_dependencies file to enable/disable and use the OSG_DEPENDENCIES env varialble to point the build system at it 141 142 # should we compile osgIntrospection? 143 COMPILE_INTROSPECTION = no 131 Build options can be edited using ccmake : 132 133 ccmake . 134 make 135 136 Within cmake press: 137 138 'c' to configure 139 'g' to generate build system. 140 144 141 </page> 145 142 146 143 <page inherit="middle" title="Windows Visual Studio"> 147 144 148 Visual 6.0 Projct files in VisualStudio/ 149 150 Visual 7.x and 8.x all uses 6.0 Project files - to keep support managable 151 152 Compiler issues: 153 154 - VisualStudio 6.0: 155 156 Requires STLport 157 osgIntrospection does not compile 158 159 - VisualStudio 7.0: 145 Use CMakeSetup - just a GUI front end in place of cmake and ccmake. 146 147 cmake and ccmake still available. 148 149 Further details can be found on OpenSceneGraph website under: 150 151 Documentaton/PlatformSpecifics/VisualStudio 152 153 </page> 154 155 <page inherit="middle" title="OSX"> 156 157 XCode projects in XCode/, supports "Universal Binaries" 158 159 Unix build as per the rest of the unices 160 161 Further details can be found on OpenSceneGraph website under: 162 163 Documentaton/PlatformSpecifics/OSX 164 </page> 165 166 <page inherit="middle" title="Time to build"> 167 168 On unices: 169 170 Set up your environmental variables as per 171 Sources/Resources 172 173 cd OpenScenGraph-TrainingMaterial/Sources 174 ./build_all.sh 175 176 177 Under Windows: 178 179 Set up your environmental variables as per 180 Sources/Resources 181 182 Use CMakeSetup to build the VisualStudio projects for 183 the following in turn: 160 184 161 osgIntrospection does not compile 162 163 - VisualStudio 8.0: 164 165 small tweaks in CVS to get to compile 166 167 </page> 168 169 <page inherit="middle" title="OSX"> 170 171 XCode projects in XCode/, supports "Universal Binaries" 172 173 Unix build as per the rest of the unices 174 175 Producer options: 176 177 - X11 178 - CGL 179 - AGL 180 </page> 181 182 <page inherit="middle" title="Time to build"> 183 184 Now over to you... 185 Sources/OpenSceneGraph 186 Sources/VirtualPlanetBuilder 187 Sources/Present3D 188 Sources/Exercices 185 189 186 190 </page> OpenSceneGraph-TrainingMaterials/trunk/Presentations/Maths/MathsAndOpenSceneGraph.p3d
r8196 r8231 22 22 23 23 <template_slide name="front"> 24 <background>Images/ chameleondots-blue.jpg</background>24 <background>Images/default_blue.jpg</background> 25 25 <title></title> 26 26 <base> … … 33 33 34 34 <template_slide name="middle"> 35 <background>Images/ chameleondots-blue.jpg</background>35 <background>Images/default_blue.jpg</background> 36 36 <title></title> 37 37 <base> … … 46 46 47 47 <template_slide name="end"> 48 <background>Images/ chameleondots-blue.jpg</background>48 <background>Images/default_blue.jpg</background> 49 49 <title></title> 50 50 <base> … … 58 58 59 59 <slide inherit="front"> 60 <background>Images/ chameleondots-blue.jpg</background>60 <background>Images/default_blue.jpg</background> 61 61 <title> </title> 62 62 <layer> OpenSceneGraph-TrainingMaterials/trunk/Presentations/MultiChannelSystems/Cluster.p3d
r8203 r8231 21 21 22 22 <template_slide name="front"> 23 <background>Images/ chameleondots-blue.jpg</background>23 <background>Images/default_blue.jpg</background> 24 24 <title></title> 25 25 <base> … … 32 32 33 33 <template_slide name="middle"> 34 <background>Images/ chameleondots-blue.jpg</background>34 <background>Images/default_blue.jpg</background> 35 35 <title></title> 36 36 <base> … … 45 45 46 46 <template_slide name="end"> 47 <background>Images/ chameleondots-blue.jpg</background>47 <background>Images/default_blue.jpg</background> 48 48 <title></title> 49 49 <base> … … 56 56 57 57 <slide inherit="front"> 58 <background>Images/ chameleondots-blue.jpg</background>58 <background>Images/default_blue.jpg</background> 59 59 <title> </title> 60 60 <layer> OpenSceneGraph-TrainingMaterials/trunk/Presentations/Optimizing/optimization.p3d
r8203 r8231 15 15 <duration>1.0</duration> 16 16 17 <title-settings character_size="0.04"></title-settings> 18 <text-settings character_size="0.035"></text-settings> 19 17 20 <path>/home/robert/Presentations/Siggraph</path> 18 21 19 22 <holding_slide> 20 <background>Images/ chameleondots-blue.jpg</background>23 <background>Images/default_blue.jpg</background> 21 24 <title></title> 22 25 <layer> … … 28 31 29 32 <slide> 30 <background>Images/ chameleondots-blue.jpg</background>33 <background>Images/default_blue.jpg</background> 31 34 <title></title> 32 35 <layer> … … 38 41 39 42 <slide> 40 <background>Images/ chameleondots-blue.jpg</background>43 <background>Images/default_blue.jpg</background> 41 44 <title>Optimization Overview</title> 42 45 <layer> OpenSceneGraph-TrainingMaterials/trunk/Presentations/PagedDatabases/databasepaging.p3d
r8196 r8231 11 11 <path>${DATA_DIR}/Earth</path> 12 12 13 <title-settings character_size="0.04"></title-settings> 14 <text-settings character_size="0.03"></text-settings> 15 13 16 <name>Database Paging</name> 14 17 <bgcolor>BLACK</bgcolor> … … 17 20 18 21 <holding_slide> 19 <background>Images/ chameleondots-blue.jpg</background>22 <background>Images/default_blue.jpg</background> 20 23 <layer> 21 24 <paragraph position="0.5 0.5 0" alignment="CENTER_CENTER" character_size="0.07">Database Paging</paragraph> … … 26 29 27 30 <slide> 28 <background>Images/ chameleondots-blue.jpg</background>31 <background>Images/default_blue.jpg</background> 29 32 <title></title> 30 33 <layer> … … 42 45 <duration>20</duration> 43 46 <layer> 44 <model path_time_offset="-25" position="0 0 0" coordinate_frame="model" camera_path="Paths/nellis_animation.path"> Nellis/archive.txp</model>47 <model path_time_offset="-25" position="0 0 0" coordinate_frame="model" camera_path="Paths/nellis_animation.path">VisualSimulation/Nellis/archive.txp</model> 45 48 <newline></newline> 46 49 <bullet>OSG's txp plugin developed in conjunction with Terrex</bullet> … … 61 64 62 65 <slide> 63 <background>Images/ chameleondots-blue.jpg</background>66 <background>Images/default_blue.jpg</background> 64 67 <title>DatabasePager internal structure</title> 65 68 <layer> 66 69 <newline></newline> 67 <bullet>DatabasePager is based around 4 thread safe queues, and the interaction of three/four threads (update, cull/draw and database)</bullet>70 <bullet>DatabasePager is based around 4 thread safe queues, and the interaction of three/four threads (update, cull/draw and database)</bullet> 68 71 <indent></indent> 69 72 <bullet>DatabaseRequest queue - populated by cull traversal, emptied by DatabasePager thread</bullet> … … 111 114 112 115 <slide> 113 <background></background> 114 <title>Pegout Sound</title> 115 <bgcolor>SKY</bgcolor> 116 <textcolor>YELLOW</textcolor> 117 <duration>20</duration> 118 <layer> 119 <model coordinate_frame="model" camera_path="Paths/pegout.path">PegoutSound/pegout.ive</model> 120 <newline></newline> 121 <bullet>Source data - Pegout Sound 16k x 16k DEM + colour imagery</bullet> 122 </layer> 123 <layer> 124 <bullet>Created using osgdem front end to osgTerrain generating a OSG native paged database</bullet> 125 <bullet>Automatic generation of LOD levels and compressed mipmapped textures</bullet> 126 <bullet>.osga archive support for encapsulating all tiles within a single file</bullet> 127 </layer> 128 <layer> 129 <click_to_run>nedit ~/OpenSceneGraph/examples/osgsimplepager/osgsimplepager.cpp & </click_to_run> 130 <bullet>Runtime just uses osgDB::DatabasePager, no need to link to osgTerrain</bullet> 131 </layer> 132 </slide> 133 134 <slide> 135 <background>Images/chameleondots-blue.jpg</background> 116 <background>Images/default_blue.jpg</background> 136 117 <title>Constant frame rate vs Rapid merging of tiles</title> 137 118 <layer> … … 167 148 <layer> 168 149 <newline></newline> 169 <bullet> osgdem/osgTerrainsupports moziacing of geospatial imagery and DEM's</bullet>150 <bullet>VirtualPlanetBuilder supports moziacing of geospatial imagery and DEM's</bullet> 170 151 <bullet>osg::CoordinateSystemNode and osg::EllipsoidModel provide support for whole earth coordinate system</bullet> 171 152 <bullet>Scales to multi-gigabyte databases</bullet> … … 177 158 178 159 <slide> 179 <background>Images/chameleondots-blue.jpg</background> 180 <title>Database generation using osgdem/osgTerrain</title> 181 <layer> 182 <newline></newline> 183 <bullet>osgTerrain</bullet> 184 <indent></indent> 185 <bullet>Utility library for creating large scale, geospatial terrain databases</bullet> 160 <background>Images/default_blue.jpg</background> 161 <title>Database generation using VirtualPlanetBuilder</title> 162 <layer> 163 <newline></newline> 164 <indent></indent> 165 <bullet>Collection of open source tools for creating large scale, geospatial terrain databases</bullet> 186 166 <bullet>Uses GDAL to read wide range of Industry stadard Geospatial Imagery and DEM's.</bullet> 187 167 <bullet>Creates standard scene graph components, no need to link to osgTerrain for runtime.</bullet> 188 168 <bullet>Supports compressed textures and mipmap generation</bullet> 189 <bullet>E uqalizes tile boundary pixels, heights and normals.</bullet>169 <bullet>Equalizes tile boundary pixels, heights and normals.</bullet> 190 170 </layer> 191 171 <layer> … … 212 192 213 193 <slide> 214 <background>Images/ chameleondots-blue.jpg</background>194 <background>Images/default_blue.jpg</background> 215 195 <title>Future of osgdem/osgTerrain</title> 216 196 <layer> OpenSceneGraph-TrainingMaterials/trunk/Presentations/PortingToOpenSceneGraph/PerformerToOSG.p3d
r8203 r8231 11 11 <name>Siggraph Menu</name> 12 12 <textcolor>YELLOW</textcolor> 13 <title-settings character_size="0.05"></title-settings> 14 <text-settings character_size="0.03.5"></text-settings> 13 15 14 16 <path>/home/robert/Presentations/Siggraph</path> 15 17 16 18 <template_slide name="front"> 17 <background>Images/ chameleondots-blue.jpg</background>19 <background>Images/default_blue.jpg</background> 18 20 <title></title> 19 21 <base> … … 26 28 27 29 <template_slide name="middle"> 28 <background>Images/ chameleondots-blue.jpg</background>30 <background>Images/default_blue.jpg</background> 29 31 <title></title> 30 32 <base> … … 39 41 40 42 <template_slide name="end"> 41 <background>Images/ chameleondots-blue.jpg</background>43 <background>Images/default_blue.jpg</background> 42 44 <title></title> 43 45 <base> … … 51 53 52 54 <slide inherit="front"> 53 <background>Images/ chameleondots-blue.jpg</background>55 <background>Images/default_blue.jpg</background> 54 56 <title> </title> 55 57 <layer> … … 61 63 </slide> 62 64 63 <page inherit="middle" title="Sim ulatities">65 <page inherit="middle" title="Similarities"> 64 66 65 67 Scene Graph paradigm OpenSceneGraph-TrainingMaterials/trunk/Presentations/Viewers/osgViewer.p3d
r8171 r8231 11 11 <name>Siggraph Menu</name> 12 12 <textcolor>YELLOW</textcolor> 13 <title-settings character_size="0.05"></title-settings> 14 <text-settings character_size="0.03.5"></text-settings> 13 15 14 16 <path>/home/robert/Presentations/Siggraph</path> 15 17 16 18 <template_slide name="front"> 17 <background>Images/ chameleondots-blue.jpg</background>19 <background>Images/default_blue.jpg</background> 18 20 <title></title> 19 21 <base> … … 26 28 27 29 <template_slide name="middle"> 28 <background>Images/ chameleondots-blue.jpg</background>30 <background>Images/default_blue.jpg</background> 29 31 <title></title> 30 32 <base> … … 39 41 40 42 <template_slide name="end"> 41 <background>Images/ chameleondots-blue.jpg</background>43 <background>Images/default_blue.jpg</background> 42 44 <title></title> 43 45 <base> … … 50 52 51 53 <slide inherit="front"> 52 <background>Images/ chameleondots-blue.jpg</background>54 <background>Images/default_blue.jpg</background> 53 55 <title> </title> 54 56 <layer> … … 210 212 osgViewer::Scene 211 213 212 osgViewer::SimpleViewer213 214 214 osgViewer::Viewer 215 215 … … 225 225 "has a" a DatabasePager 226 226 227 Used internally by osgViewer::View , SimpleViewer227 Used internally by osgViewer::View 228 228 229 229 Not something end users need to explicitly manage … … 267 267 osgViewer::setSceneData(osg::Node*) - sets the scene graph 268 268 269 </page>270 271 <page inherit="middle" title="SimpleViewer">272 Replacement for SceneView273 274 SimpleViewer::setCamera(osg::Camera*)275 276 High level osgViewer::SimpleViewer::frame() method that calls..277 278 advance() - increment frame count and simulation + reference time279 280 eventTraversal() - get events, dispatch them to camera manipulators,281 event handlers and scene graph event traversal282 283 updateTraversal() - scene graph update traversal284 285 renderingTraversal() - dispatch all cull + draw traversals (NO threads!)286 269 </page> 287 270 … … 342 325 </page> 343 326 344 <page inherit="end" title="Left to do">345 Configurtion file support346 347 GraphicsWindow adpation reusing orignal window handles348 349 GraphicsWindowQt, FLTK, Fox, WxWindows, etc..350 351 Trackball stereo scaling352 353 Tracking of CoordinateSystemNode for camera manipulators354 355 But all the core functionality is there, and ready to use!356 </page>357 358 327 <page inherit="end" title="Conclusions"> 359 328 Delivers on goal of unification of concepts and classes OpenSceneGraph-TrainingMaterials/trunk/Presentations/VolumeRendering/volumes.p3d
r8203 r8231 18 18 19 19 <holding_slide> 20 <background>Images/ chameleondots-blue.jpg</background>20 <background>Images/default_blue.jpg</background> 21 21 <layer> 22 22 <paragraph position="0.5 0.5 0" alignment="CENTER_CENTER" character_size="0.07">Volume Rendering</paragraph> … … 27 27 28 28 <slide> 29 <background>Images/ chameleondots-blue.jpg</background>29 <background>Images/default_blue.jpg</background> 30 30 <layer> 31 31 <duration>5</duration>
