OSG中如何批量读取osgb文件夹中所有osgb文件,而不是只能读取一个?

lcjessica 2016-11-01 09:32:55
本人为一名初学者,现只会每次读取一个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. }
...全文
3692 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
静语流年 2020-04-23
  • 打赏
  • 举报
回复
我解决的方法是,遍历文件夹记录并存储文件名,然后利用osgDB::readNodeFiles()加载记录的文件列表,就可以加载所有的osdb文件了
静语流年 2020-04-14
  • 打赏
  • 举报
回复
我目前也是遇到了这个问题,使用的是vs&osg,不会解决这个问题,求指教
~等风来 2019-10-10
  • 打赏
  • 举报
回复
楼主,请问解决了吗?可以告知一下吗?
weixin_39070982 2017-11-24
  • 打赏
  • 举报
回复
后来怎么解决了?可以分享下吗??
MisS_蜗牛小姐 2017-07-12
  • 打赏
  • 举报
回复
后来怎么解决了?可以分享下吗??
潇然晴雪 2017-01-01
  • 打赏
  • 举报
回复
楼主搞定了吗? 你的代码运行不了,你测试通过了吗?
赵4老师 2016-11-01
  • 打赏
  • 举报
回复
system("dir /b /a-d c:\\*.* >d:\\allfiles.txt"); //读文件d:\\allfiles.txt的内容即C:\\下所有文件的名字 system("dir /b /a-d /s c:\\*.* >d:\\allfilesinsub.txt"); //读文件d:\\allfilesinsub.txt的内容即C:\\下所有文件的名字包含子目录 system("dir /b /ad c:\\*.* >d:\\alldirs.txt"); //读文件d:\\alldirs.txt的内容即C:\\下所有子目录的名字 请记住,能用shell命令获取文件、文件夹信息或者操作文件、文件夹最好用shell命令获取或者操作,而不要用各种API获取或者操作,因为当遇到非法文件夹名或非法文件名或非法文件长度、非法文件日期、压缩文件、链接文件、稀疏文件……等各种意料之外的情况时,API会处理的不全面或陷入死循环,而shell命令不会。 如果嫌system黑窗口一闪,将system("...")替换为WinExec("cmd /c ...",SW_HIDE);

64,642

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧