查看: 2140|回复: 4

弱弱的问一下

[复制链接]

该用户从未签到

发表于 2008-10-8 13:39:43 | 显示全部楼层 |阅读模式
如果想在立方体的每个面上用不同的贴图,该怎么做?

该用户从未签到

发表于 2008-10-8 17:59:45 | 显示全部楼层
有很多方法,比如您可以使用osg::TextureCubeMap,它等同于OpenGL的立方体纹理函数
使用TextureCubeMap::setImage来设置各个面对应的纹理图片。

当然使用通常的Texture2D也没有问题,不过您要考虑一下,把这个立方体铺开以后,如何正确地与纹理坐标对应

该用户从未签到

发表于 2008-10-8 23:20:03 | 显示全部楼层

很容易的,,和一般的纹理映射差不多,,只是注意一下纹理坐标而已,,OSG的例子里面有一个相关的例子就实现了这种效果osgTexture2D~~~~~~~~

该用户从未签到

 楼主| 发表于 2008-10-9 10:33:21 | 显示全部楼层
例子osgTexture2D的方法是一个面一个面的画,其实我想问的是一起画,整个立方体作为一个Geometry节点。array的方法正在想,还不知道该怎么试。就是想问array一下,即使把立方体展开以后,那个纹理是一个图片还是多个图片啊,要是一个图片就没啥意义,要是多个,纹理坐标该怎么设啊?
附带问一下,这两种画法对资源的占用以及速度有区别吗?

该用户从未签到

发表于 2008-10-9 11:17:39 | 显示全部楼层
Texture2D展开以后当然是一个图片,也不能说没有意义,事实上三维建模贴纹理和很多三维游戏都可以这样来实现的。

TextureCubeMap是OpenGL针对立方体纹理所做的优化。个人认为速度上是绝对有保证的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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