查看: 1470|回复: 4

关于函数createTextureQuadGeometry(),与贴图问题

[复制链接]

该用户从未签到

发表于 2013-6-26 21:06:03 | 显示全部楼层 |阅读模式
createTextureQuadGeometry(const osg::Vec3 &corner, const osg::Vec3 &widthVec, const osg::Vec3 &heightVec)
这个函数   
请问下里面的三个参数矢量corner,widthVec,heightVec指的是什么呀? 搜索了很多地方都没找到……

我是想把一张图片贴在模型的指定位置,但找到的贴图相关的方法都是把整张图裹在模型上。例如,我想把一张中国的地图贴在地球模型上,有没有能够实现这种局部贴图的方式呢?

该用户从未签到

发表于 2013-6-27 09:04:43 | 显示全部楼层
上面函数的参数作用可以查看源码。
部分贴图的话,你可以用这色器自己去判断什么地方应该贴图。或使用osgearth中overlay相关的的技术

该用户从未签到

发表于 2013-6-28 08:49:03 | 显示全部楼层
这三个参数怎么不能理解?
是这样的,corner 表示四边形的纹理坐标(0,0)处理的顶点坐标,widthVec表示纹理坐标从(0,0)到(1,0)处的顶点坐标的变化方向,heightVec表示纹理坐标从(0,0)到(0,1)处的顶点坐标的变化方向.
如:
  1. createTexturedQuadGeometry(osg::Vec3(-1.0f,0.0f,-1.0f),osg::Vec3(2.0f,0.0f,0.0f),osg::Vec3(0.0f,0.0f,2.0f));
复制代码
四边形的坐标与纹理坐标对应如下:
(0,0)(-1.0,0.0,-1.0)
(1,0)( 1.0,0.0,-1.0)
(1,1)( 1.0,0.0, 1.0)
(0,1)(-1.0,0.0, 1.0)

该用户从未签到

发表于 2013-6-28 09:27:38 | 显示全部楼层
楼上已经给你扒出来了

该用户从未签到

 楼主| 发表于 2013-7-5 15:54:43 | 显示全部楼层
the_mercury 发表于 2013-6-28 08:49
这三个参数怎么不能理解?
是这样的,corner 表示四边形的纹理坐标(0,0)处理的顶点坐标,widthVec表示纹理 ...

十分感谢!之前看了源码也一直不知道corner是什么意思。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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