查看: 3524|回复: 3

两个OSG的问题...

[复制链接]

该用户从未签到

发表于 2008-5-19 08:36:46 | 显示全部楼层 |阅读模式
1、如何正确设置三角带的法向量:
   我使用三角带来创建一个几何体,不管怎么设置,渲染时各面的法向量明显不对(明暗的方向不对),比如:
   顶点数组中点序为:1,2,3,4,5,6,7,8
      法向量数组中的各法向量计算及排列依次为:(1,2,3),(2,4,3),(3,4,5),(4,6,5),(5,6,7),(6,8,7)
     法向量绑定为:对每个图元(即对每个三角形)
这样弄出来的始终不太对,但如果我把图元集的类型改成三角形的话,就没问题,而且各参数计算都是一样的。
   对这个问题,是不是需要设置法向量的索引数组?我觉得不应该吧,对三角带而言,三角形的顺序是已知的,而且与法向量是依次对应的。

2、OSG的reader问题:
   昨天用OSG的插件来读取jpg文件,结果被告知“找不到合适的插件”,刚开始以为是插件的编译问题或路径设置问题,后来经过仔细跟踪,发现osgDB::readImageFile、osgDB::readFontFile等类似函数有个bug,就是不认以中文命名的目标文件!比如:
osgDB::readImageFile("地形.jpg")会失败,但如果把文件“地形.jpg”改名为“terrain.jpg”,然后调用osgDB::readImageFile("terrain.jpg")就没问题了。

该用户从未签到

发表于 2008-5-19 09:28:48 | 显示全部楼层

应该需要设置一下顶点的索引来绘制~~~~~~~~~对于OSG而言,对中文路径是无法识别的,很久以前就有解决了这个问题了   

 setlocale( LC_ALL, "chs" );
    osgDB::writeNodeFile(*node,"飞机.ive");
    setlocale( LC_ALL,"C" );

该用户从未签到

 楼主| 发表于 2008-5-19 09:51:01 | 显示全部楼层
谢谢FlySky的回复!
对于OSG中osg::Geometry的使用,有些方面实在是搞不清楚,似乎和OpenGL的有些区别,尤其是顶点数组、纹理数组以及法向量数组部分带有索引时,内部将如何访问相关数据感觉比较乱,所以使用时只能按比较简单的情况来。我回头抽时间分析一下源代码,把其中的使用规则总结出来。

[ 本帖最后由 lab_zj 于 2008-5-19 09:58 编辑 ]

该用户从未签到

 楼主| 发表于 2008-5-19 10:05:33 | 显示全部楼层
对了,还有个问题:
OSG中如何控制全屏反走样和纹理的mipmap级别?
对于“全屏反走样”,似乎只有osg::Multisample可以控制,但怎么用就不太清楚了。
对于纹理的“mipmap”控制,在osg::Texture中只有mipmap的硬件生成控制,没见到具体的级别控制参数,因为我的程序自动生成的模型上使用的纹理,在比较小的距离上就被模糊了,只有视点靠的很近时纹理才能看清楚。

[ 本帖最后由 lab_zj 于 2008-5-19 10:07 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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