OpenGL球体纹理贴图问题,小菜鸟请教各位前辈!

lahuye 2006-04-09 07:53:27
用OpenGL做,画个球体,想把它表示成地球仪的形式,即在圆球体上贴一个bmp格式的世界地图图片.
图片当然为矩形,但是里面图形部分为两边是半圆形(或者椭圆吧,大家对世界地图应该有这样的印象吧),上下是直的.该怎么样计算纹理坐标和图片里面图形顶点坐标的映射关系呢?大家有这样的经验吗?因为所要贴图的球体和纹理的图象区域好象都不是规则的区域吧!

大家能提供一点参考代码吗?我看的书只是一个方形图象对方形区域的简单映射!

另外OPENGL中纹理坐标的自动计算函数glTextGen函数(参数和使用结果)没弄明白该怎么使用,书比较简单,也没例子,请前辈们解释一下.

不甚感激!
...全文
2099 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
iwaiwai 2006-10-30
  • 打赏
  • 举报
回复
可以到dx sdk包里找现成的用来进行球体映射的地球仪纹理。
有球面普通包装和bump两种

球面映射有现成的算法/函数 参照 Spherical Textures
There are many ways to apply a texture map to a sphere. It is an important process because of applications such as texture-mapping the entire surface of the earth.


http://www.vterrain.org/Textures/spherical.html
hxf4ever 2006-10-20
  • 打赏
  • 举报
回复
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
////////////
glEnable(GL_TEXTURE_2D);
glPushMatrix();
glColor3f(1,1,1);
glBindTexture(GL_TEXTURE_2D,texture[0]);
gluSphere(quadratic,2,80,80);
glPopMatrix();
glDisable(GL_TEXTURE_2D);
aerostone 2006-04-20
  • 打赏
  • 举报
回复
ms不需要坐标映射
直接绑定纹理后画球即可
lahuye 2006-04-14
  • 打赏
  • 举报
回复
有没有进一步提供解决方案的,请教中!
lahuye 2006-04-10
  • 打赏
  • 举报
回复
急,自己再顶一把,期待中!
wudt 2006-04-10
  • 打赏
  • 举报
回复
用gluSphere,其他的就不说了!

4,445

社区成员

发帖
与我相关
我的任务
社区描述
图形图像/机器视觉
社区管理员
  • 机器视觉
  • 迪菲赫尔曼
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧