OSG中如何批量读取osgb文件夹中所有osgb文件,而不是只能读取一个?
本人为一名初学者,现只会每次读取一个osgb,但是工作需要把整个osgb文件夹都同时读取展示。
请问(1)下面是读取一个的代码。在此基础上如何改?(2)现在只会读在.sln所在文件夹的直属文件,根据下面代码如何读取其他文件夹中文件?
1. #include <osgViewer/Viewer>
2.
3. #include <osg/Node>
4. #include <osg/Geode>
5. #include <osg/Group>
6.
7. #include <osgDB/ReadFile>
8. #include <osgDB/WriteFile>
9.
10. #include <osgUtil/Optimizer>
11.
12. int main()
13. {
14. //创建Viewer对象,场景浏览器
15. osg::ref_ptr<osgViewer::Viewer> viewer = new osgViewer::Viewer();
16.
17. //创建场景组节点
18. osg::ref_ptr<osg::Group> root = new osg::Group();
19.
20. //创建一个节点,读取osgb
21. osg::ref_ptr<osg::Node> node = osgDB::readNodeFile("../cbd01.OSGB");
22.
23. //添加到场景
24. root->addChild(node.get());
25.
26. //优化场景数据
27. osgUtil::Optimizer optimizer ;
28. optimizer.optimize(root.get()) ;
29.
30. //设置场景数据
31. viewer->setSceneData(root.get());
32.
33. //初始化并创建窗口
34. viewer->realize();
35.
36. //开始渲染
37. viewer->run();
38.
39. return 0 ;
40. }