查看: 2559|回复: 6

osg读入.osg文件的纹理

[复制链接]

该用户从未签到

发表于 2009-2-16 12:09:42 | 显示全部楼层 |阅读模式
当我用osg打开一个osg模型之后,无法得到模型的纹理坐标,但是osg绘制的时候却是正确的,这是怎么回事?
为什么osg文件不包含纹理坐标?

该用户从未签到

 楼主| 发表于 2009-2-16 12:10:52 | 显示全部楼层

模型文件如下

这个是模型的osg格式文件

13.rar

95.11 KB, 下载次数: 185, 下载积分: 威望 1

该用户从未签到

发表于 2009-2-16 12:26:29 | 显示全部楼层
.osg文件当然是包含纹理坐标的,除非模型本身没有指定,或者使用了TexGen自动生成。
您的模型的确没有纹理坐标,不过它也没有包含纹理图片或者颜色。您所看到的只不过是法线+光照+材质这套OpenGL传统渲染机制得到的效果罢了

该用户从未签到

 楼主| 发表于 2009-2-16 13:28:23 | 显示全部楼层

谢谢版主

这个模型的VertexArray都是TRIANGLES,那么就是每三个连续定点组成一个三角形了?
三角形的个数应当这样计算:
                osg::Vec3Array *coords = dynamic_cast<osg::Vec3Array*> (geometry->getVertexArray());
                num_tri = coords ->size() / 3;

该用户从未签到

发表于 2009-2-16 14:21:25 | 显示全部楼层
应当可以这样计算;也可以取出Geometry包含的所有PrimitiveSet之后,分别根据每个PrimitiveSet进行计算。

该用户从未签到

发表于 2015-9-28 18:16:08 | 显示全部楼层
array 发表于 2009-2-16 12:26
.osg文件当然是包含纹理坐标的,除非模型本身没有指定,或者使用了TexGen自动生成。
您的模型的确没有纹理 ...

.osgb文件内部的纹理读取不出来怎么办,我已经加上了osgdb-bmp.dll(内部纹理是bmp格式的),还是没有用?

该用户从未签到

发表于 2015-12-25 15:34:04 | 显示全部楼层
array 发表于 2009-2-16 12:26
.osg文件当然是包含纹理坐标的,除非模型本身没有指定,或者使用了TexGen自动生成。
您的模型的确没有纹理 ...

@array
大神版主还在么
我有个很棘手的问题想请教你!
比如cessna模型我rooNode->addChild()的方式能显示飞机的纹理,但是用osgEarth中map->addModelLayer()的方式加载进去缺不能显示纹理~
我要如何做才能用osgEarth的加载方式显示出飞机的纹理呢? 我已经到了奔溃的边缘了- - 试过了好多方法都不行,求大神回复下,我不知道在哪儿开帖子~ 论坛看的多却没怎么用过:'(  
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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