From 7146f8a62f4d9396392bb4706a1815533c80fce5 Mon Sep 17 00:00:00 2001 From: Robert Osfield Date: Thu, 26 Nov 2009 10:12:38 +0000 Subject: [PATCH] Added check for Geometry pointer being valid --- examples/osgcamera/osgcamera.cpp | 37 ++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/examples/osgcamera/osgcamera.cpp b/examples/osgcamera/osgcamera.cpp index c7b5934d4..890e7b021 100644 --- a/examples/osgcamera/osgcamera.cpp +++ b/examples/osgcamera/osgcamera.cpp @@ -184,8 +184,11 @@ public: for(unsigned int i=0; iasGeometry(); - osg::notify(osg::NOTICE)<<"Enabling VBO"<setUseVertexBufferObjects(true); + if (geom) + { + osg::notify(osg::NOTICE)<<"Enabling VBO"<setUseVertexBufferObjects(true); + } } } }; @@ -231,27 +234,29 @@ int main( int argc, char **argv ) { osg::notify(osg::NOTICE)<<"+++++++++++++ New viewer ++++++++++++"< node = osgDB::readNodeFiles(arguments); - if (!node) return 0; + osgViewer::Viewer viewer; - if (enableVBO) + viewer.setThreadingModel(threadingModel); + + if (sharedModel) viewer.setSceneData(model.get()); + else { - EnableVBOVisitor enableVBOs; - node->accept(enableVBOs); + osg::ref_ptr node = osgDB::readNodeFiles(arguments); + if (!node) return 0; + + if (enableVBO) + { + EnableVBOVisitor enableVBOs; + node->accept(enableVBOs); + } + + viewer.setSceneData(node.get()); } - viewer.setSceneData(node.get()); + viewer.run(); } - viewer.run(); - osg::notify(osg::NOTICE)<<"------------ Viewer ended ----------"<