|
int main()
{
osg::ref_ptr<osgViewer::Viewer>viewer=new osgViewer::Viewer();//创建场景浏览器
osg::ref_ptr<osg::Group>root=new osg::Group();//创建组节点
osg::ref_ptr<osg::Node>node1=osgDB::readNodeFile("cow.osg");//创建节点读取模型文件
osg::ref_ptr<osg::Node>node2=new osg::Node();//创建一个新节点
node2=osgDB::readNodeFile("glider.osg");//读取模型
osg::ref_ptr<osg::Switch>switch=new osg::Switch();//创建一个开关节点
switch->addChild(node1.get(),false);//添加模型1,但不渲染
switch->addChild(node2.get(),true);//添加模型2,并渲染
root->addChild(switch.get());//添加到组节点
osgUtil::Optimizer optimizer;
optimizer.optimize(root.get());//优化场景数据
viewer->setSceneData(root.get());
viewer->realize();
viewer->run();
return 0;
}
这段代码运行后出现error:
1>d:\practice\osgswitch\osgswitch\main.cpp(22) : error C2143: syntax error : missing ';' before 'switch'
1>d:\practice\osgswitch\osgswitch\main.cpp(22) : error C2059: syntax error : '='
1>d:\practice\osgswitch\osgswitch\main.cpp(23) : error C2059: syntax error : '->'
1>d:\practice\osgswitch\osgswitch\main.cpp(24) : error C2059: syntax error : '->'
1>d:\practice\osgswitch\osgswitch\main.cpp(26) : error C2143: syntax error : missing ')' before 'switch'
1>d:\practice\osgswitch\osgswitch\main.cpp(26) : error C2660: 'osg::Group::addChild' : function does not take 0 arguments
1>d:\practice\osgswitch\osgswitch\main.cpp(26) : error C2059: syntax error : ')'
实在是看不出哪里出错了,而且也无法逐步调试。 |
|