从官网下载好的osg进行编译完成。写了一个测试的demo。
具体代码如下
int main(int argc, char *argv[])
{
std::string osgstr = "E:\\cow.osg";
osgDB::Options *option = new osgDB::Options(std::string("noTriStripPolygons"));
osgViewer::Viewer viewer;
osg::ref_ptr<osg::Node> loadedModel = osgDB::readNodeFile(osgstr);
osgUtil::Optimizer optimizer;
optimizer.optimize(loadedModel);
viewer.setUpViewInWindow(100,100,2000,600);
viewer.setSceneData(loadedModel);
viewer.realize();
return viewer.run();
}
调试的时候 osgDB::readNodeFile的返回值loadedModel一直是防会空NULL。
解决办法:将osg编译目录的bin添加到环境变量中。我的测试安装路径
C:\OpenSceneGraph-OpenSceneGraph-3.6.3\OpenSceneGraph-OpenSceneGraph-3.6.3\bin
添加到path到环境变量中即可。