查看: 3947|回复: 4

opengl自动生成纹理迷津?

[复制链接]

该用户从未签到

发表于 2009-11-28 21:11:38 | 显示全部楼层 |阅读模式
1.GL_SPHERE_MAP
  在这个模式下,其纹理坐标生成算法如下:
  以u标识在视坐标系下原点到顶点的一个单位向量;
  以n'标识在视坐标系下顶点的法向量;
  以r=trans(rx,ry,rz)标识顶点的反射向量,则t可以由以下公式计算得到:
                 r=u-2*trans(n')(n'u);
  另m=2*sqrt(rx*rx+ry*ry+(rz+1)*(rz+1)),则生成的坐标:
      (S,T)=( rx/m+0.5, ry/m+0.5 );  //在这个情况下,指定R,Q坐标是非法的。
  可以看出,这个模式是在平面上模拟了球面的反射效果。

请问下:
   “m”的意义是什么?
    生成的st坐标怎么就模拟了球面的反射呢?


2.GL_REFLECTION_MAP
  在这里模式下,和GL_SPHERE_MAP一样,首先计算顶点的反射向量,然后将此向量值作为相应的纹理坐标:
      (S,T,R)=(rx,ry,rz);            //在这个情况下,指定Q坐标是非法的

请问下:
   这个模式一般用在立方体贴图,请问,生成的str纹理坐标是怎么映射到6个立方体面纹理的呢?

  

该用户从未签到

发表于 2009-11-28 23:42:18 | 显示全部楼层
网上有一些很不错的技术文章,讲解了纹理自动生成的原理,我想看一看这些文章应当有助于您的学习;也希望您能用更多时间自己在网上搜索资料并与大家分享。

例如:
http://www.opengl.org/resources/code/samples/advanced/advanced97/notes/node93.html(完全讲解了您的第一个问题)
http://resumbrae.com/ub/dms424_s05/10/print.html

该用户从未签到

 楼主| 发表于 2009-11-30 12:13:39 | 显示全部楼层
谢谢array,我搜集中文资料还可以,就是英文资料没处找呢~~

该用户从未签到

发表于 2009-11-30 12:47:21 | 显示全部楼层
呃,说实话,单就三维开发方面来说,我个人不认为目前有多少值得一看的中文资料……

该用户从未签到

 楼主| 发表于 2009-11-30 20:24:40 | 显示全部楼层
就是的啊,以前不都是偷懒的~~不看英文的还是不行
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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