查看: 1420|回复: 5

关于纹理的坐标移动问题

[复制链接]

该用户从未签到

发表于 2010-8-15 16:37:00 | 显示全部楼层 |阅读模式
在做动态纹理是遇到了一个问题,我想做一个管道的流动状态,当里面有液体流动时可以看见,我想在管道上贴上纹理,当液体流动时,移动纹理的位置来表示流动状态,但是找了很久也没有找到如何移动纹理坐标的方法,请教一下,有没有人做过类似的,给点意见,静候赐教

该用户从未签到

发表于 2010-8-16 08:32:27 | 显示全部楼层
ta = dynamic_cast<osg::Vec2Array*>( getTexCoordArray(0) );
更新ta的内容……
如果是显示列表方式绘制:geom->dirtyDisplayList()
如果是VBO方式绘制:ta->dirty();

该用户从未签到

 楼主| 发表于 2010-8-16 22:57:48 | 显示全部楼层
谢谢王老师,按照您提供的方法,成功完成了预订的功能
但是我的纹理大小比画的图形大,才可以完成此功能,
如果我的纹理比图形小很多的时候,纹理在图形上是重复填充的,
要实现这个的话,该怎么解决啊,想了一天也不知怎么解决,请王老师指点,谢谢

该用户从未签到

发表于 2010-8-18 08:27:19 | 显示全部楼层
我的纹理大小比画的图形大
我不是太理解您的意思,您是否应该设置一下setWrap来改变纹理数据的重复方式?

该用户从未签到

 楼主| 发表于 2010-8-18 09:00:47 | 显示全部楼层
可能是我描述的不是很清楚,我的意思是如果我的纹理用setWrap设置为(REPEAT或MIRROR),假如为REPEAT,这时候我如果想用纹理坐标来移动纹理,使之有流动效果的话,能不能实现,不知现在描述清楚了没有

该用户从未签到

发表于 2010-8-18 09:21:42 | 显示全部楼层
如果我的纹理用setWrap设置为(REPEAT或MIRROR)
既然这样,那当然会出现重复的纹理了,这本来就是您的需求
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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