查看: 2216|回复: 6

osg读取PLY的问题

[复制链接]

该用户从未签到

发表于 2014-7-13 17:38:28 | 显示全部楼层 |阅读模式
     osg3.01 读取ply失败,有ply插件,跟踪了下源码发现在!equal_strings (words[0], "ply")解析ply的文件头ply标签时,比较字符串时出错(words[0]的第四个字符不为'\0'),导致读取过程返回,谁遇到过这样的情况!
    另附: ReaderWriterPLY::readNode(const std::string& filename, const osgDB::ReaderWriter::Options* options) const源码有点问题,osg::Node* node = vertexData.readPlyFile(filename.c_str())----这里传的filename没有osg_file_path 的前缀,后来我用了ply文件的绝对路径,但是还是不行,出现了上段的情况。

该用户从未签到

发表于 2014-7-31 11:07:21 | 显示全部楼层
我个人没有特别关注过ply插件的代码,如果您觉得这是一个bug,可以向官方提出或者直接提交自己的更改

该用户从未签到

 楼主| 发表于 2014-9-3 11:47:34 | 显示全部楼层
已经解决了,原因是OSG默认的PLY插件只支持格式为二进制的PLY文件,而我的PLY文件格式为ASCII的,谢谢!

该用户从未签到

发表于 2015-10-16 16:26:14 | 显示全部楼层
osg3.4.0 ply插件可以正确的读出ascii和二进制的ply文件。3.2只能读二进制的ply文件,3.0.1不能正确的读取ply文件。

该用户从未签到

发表于 2015-10-20 15:26:27 | 显示全部楼层
3.4下读取PLY,release可以读取成功。debug时会出现debug assert failed    vector out of range的错误。用osgViewerd.exe 读取也是这个错误。

该用户从未签到

发表于 2015-10-20 15:27:34 | 显示全部楼层
大佬们,这个是bug,还是生成3.4 的时候忘记某个选项了?

该用户从未签到

 楼主| 发表于 2015-10-29 09:39:57 | 显示全部楼层
你可以用其他读取ply的库替换掉osg对应的ply插件,不过最后要返回geode!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表