查看: 1699|回复: 10

关于纹理坐标问题

[复制链接]

该用户从未签到

发表于 2012-11-20 14:00:08 | 显示全部楼层 |阅读模式
我现在有个640*480的图像 和对应的点云数据 我用osg::TextureRectangle保存纹理图像 说这个可以不需要把纹理坐标设置成0-1之间的 我想知道 用了这个的话  设置纹理坐标的时候 是左下的像素是0 0  右上的像素是639 479么?  新手。。对这个纹理坐标不是很理解。。诚心请高手指教。。谢谢了! 或者大家对于纹理坐标有什么理解 也可以跟我说说啊 谢谢!

该用户从未签到

发表于 2012-11-22 17:09:24 | 显示全部楼层
是这样,不过您用TextureRectangle有什么特别的意义?

该用户从未签到

 楼主| 发表于 2012-11-22 20:36:12 | 显示全部楼层
array 发表于 2012-11-22 17:09
是这样,不过您用TextureRectangle有什么特别的意义?

普通的纹理像素不是必须是2的N次幂么  而TextureRectangle可以用任意矩形的图像当纹理 所以觉得这个比较方便

该用户从未签到

发表于 2012-11-27 10:42:12 | 显示全部楼层
谁说过普通纹理必须是2的幂了?现代显卡都支持非2的幂的Texture2D

该用户从未签到

 楼主| 发表于 2012-11-28 13:32:56 | 显示全部楼层
array 发表于 2012-11-27 10:42
谁说过普通纹理必须是2的幂了?现代显卡都支持非2的幂的Texture2D

啊 就是三维渲染引擎编程指南上说的啊。。

该用户从未签到

发表于 2012-11-29 13:58:14 | 显示全部楼层
是这样的,在OpenGL之中对纹理的大小支持非2的幂是由一个扩展支持的:GL_ARB_texture_non_power_of_two,你看下你自己的计算机的OpenGL支持它不?
  1. GLubyte *extensions = glGetString(GL_EXTENSIONS);
  2. //check if the extensions contain "GL_ARB_texture_non_power_of_two"
复制代码
现在的计算机显卡一般全部都支持它的。

该用户从未签到

 楼主| 发表于 2012-12-2 19:02:21 | 显示全部楼层
the_mercury 发表于 2012-11-29 13:58
是这样的,在OpenGL之中对纹理的大小支持非2的幂是由一个扩展支持的:GL_ARB_texture_non_power_of_two,你看 ...

我没用过OpenGL。。直接学的OSG 这两个 对于纹理的大小支持一样么?

该用户从未签到

发表于 2012-12-3 08:04:06 | 显示全部楼层
完全看您的显卡的支持程度,跟osg和opengl没关系

该用户从未签到

 楼主| 发表于 2012-12-3 10:38:12 | 显示全部楼层
liuzhiyu123 发表于 2012-12-3 08:04
完全看您的显卡的支持程度,跟osg和opengl没关系

这样啊 我问了问老师 也说过显卡问题 他说现在的显卡几乎都支持了  谢谢您的热心回答!

该用户从未签到

发表于 2012-12-3 15:08:45 | 显示全部楼层
  1. const GLubyte* extensions=glGetString(GL_EXTENSIONS);
  2. std::list<std::string> lst;
  3. const char * buffer,*token,*next_token,*delim="\x20";
  4. buffer = (const char*)extensions;
  5. token = strtok_s(buffer,delim,&next_token);
  6. while(token != NULL)
  7. {
  8.    lst.push_back(std::string(token));
  9.    token = strtok_s(NULL,delim,&next_token);
  10. }

  11. if(std::find(lst.begin(),lst.end(),"GL_ARB_texture_non_power_of_two"))
  12. {
  13.     //support this extension
  14. }
  15. else
  16. {
  17.     //do not support this extension
  18. }
复制代码

该用户从未签到

 楼主| 发表于 2012-12-3 19:27:17 | 显示全部楼层
the_mercury 发表于 2012-12-3 15:08

这个是openGL的吧? 我电脑没有配置这个的环境。。还是谢谢您的热心回答了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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