Show
Ignore:
Timestamp:
11/26/09 11:12:38 (4 years ago)
Author:
robert
Message:

Added check for Geometry pointer being valid

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • OpenSceneGraph/trunk/examples/osgcamera/osgcamera.cpp

    r10831 r10832  
    185185        { 
    186186            osg::Geometry* geom = geode.getDrawable(i)->asGeometry(); 
    187             osg::notify(osg::NOTICE)<<"Enabling VBO"<<std::endl; 
    188             geom->setUseVertexBufferObjects(true); 
     187            if (geom) 
     188            { 
     189                osg::notify(osg::NOTICE)<<"Enabling VBO"<<std::endl; 
     190                geom->setUseVertexBufferObjects(true); 
     191            } 
    189192        } 
    190193    } 
     
    232235            osg::notify(osg::NOTICE)<<"+++++++++++++ New viewer ++++++++++++"<<std::endl; 
    233236 
    234             osgViewer::Viewer viewer; 
    235  
    236             viewer.setThreadingModel(threadingModel); 
    237  
    238             if (sharedModel) viewer.setSceneData(model.get()); 
    239             else 
    240237            { 
    241                 osg::ref_ptr<osg::Node> node = osgDB::readNodeFiles(arguments); 
    242                 if (!node) return 0; 
    243  
    244                 if (enableVBO) 
     238                osgViewer::Viewer viewer; 
     239 
     240                viewer.setThreadingModel(threadingModel); 
     241 
     242                if (sharedModel) viewer.setSceneData(model.get()); 
     243                else 
    245244                { 
    246                     EnableVBOVisitor enableVBOs; 
    247                     node->accept(enableVBOs); 
     245                    osg::ref_ptr<osg::Node> node = osgDB::readNodeFiles(arguments); 
     246                    if (!node) return 0; 
     247 
     248                    if (enableVBO) 
     249                    { 
     250                        EnableVBOVisitor enableVBOs; 
     251                        node->accept(enableVBOs); 
     252                    } 
     253 
     254                    viewer.setSceneData(node.get()); 
    248255                } 
    249256 
    250                 viewer.setSceneData(node.get()); 
     257                viewer.run(); 
    251258            } 
    252  
    253             viewer.run(); 
    254259 
    255260            osg::notify(osg::NOTICE)<<"------------ Viewer ended ----------"<<std::endl<<std::endl;