查看: 1355|回复: 4

请教几个关于OSG纹理的问题

[复制链接]

该用户从未签到

发表于 2014-4-17 19:30:53 | 显示全部楼层 |阅读模式
首先是我有一堆模型(FBX格式,包含纹理),我把它们导入到3dsMax,
然后利用3dsMax的OSG插件把所有的模型导出为OSG格式,并且把纹理的格式设置为PNG,
接下来为了提高在iOS设备里的效率,我需要把PNG格式的纹理转换为PVRT格式,
具体是这么操作的①用PowerTexTool直接把PNG格式的图片转换为PVRT格式的图片;②用文本编辑器编辑OSG文件,修改里面指向的纹理图片名字(png改成PVR),
最后我把osg模型和纹理图片一起放进iPad里面显示,一切OK,模型显示出来了,纹理也显示出来了,
但是最关键的问题是显示出来的纹理竟然是上下颠倒的。
请问我是不是哪一步出了问题,为什么显示出来的纹理上下颠倒?有什么解决办法?

还有一个问题就是如果和osg模型搭配的纹理图片包含了mipmap,那么用readNodeFile()生成的Node在渲染时会不会自动应用MipMap。

该用户从未签到

 楼主| 发表于 2014-4-17 20:20:14 | 显示全部楼层
第一个问题已经解决了,纹理转换的时候加一个flip命令就好了

该用户从未签到

 楼主| 发表于 2014-4-17 21:09:35 | 显示全部楼层
本帖最后由 njuliujl 于 2014-4-17 21:26 编辑

我又发现把模型从3dsMax里直接导出成OSG文本文件会导致模型变形(原来是长方形的房子,变成了三角形的),目前的办法是把它导出为IVE格式。
请问有没有办法手动修改IVE文件把里面指向的纹理文件的后缀名从“PNG”改成“PVR”?
或者如何使用OSGCONV工具,生成使用“PVR”格式的IVE模型?

@Array

该用户从未签到

发表于 2014-4-20 20:46:35 | 显示全部楼层
首先我不认为导出到osg和导出到ive会有什么区别。其次您可以直接用一个NodeVisitor遍历找到所有的Image对象并且修改setFileName的后缀,然后再导出

该用户从未签到

 楼主| 发表于 2014-4-24 16:51:53 | 显示全部楼层
谢谢Array大哥的回答。那个问题我已经解决了。
我用的是3dsMax的导出插件,导出不同格式的时候确实出现了差别。但这已经不重要了。
修改纹理后缀的时候,我用了比较暴力的方法,直接用“VIM”打开ive二进制文件,查找替换“.png”,然后就搞定了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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