2 wang jia fa wang_jia_fa 于 2013.12.22 22:46 提问

用opengl纹理实现地球仪 问题

纹理已经正确加载,但是在没用纹理矩阵时纹理根本动不了。如果用glMatrixMode(GL_TEXTURE) 转动很奇怪,而且感觉纹理没很好的铺满球体。求正确方法我的显示代码:
glMatrixMode(GL_MODELVIEW);
glPushMatrix();

glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glBindTexture(GL_TEXTURE_2D,texture1);

glEnable(GL_TEXTURE_GEN_S);
glEnable(GL_TEXTURE_GEN_T);
glMatrixMode(GL_TEXTURE); //不使用纹理矩阵时,纹理动不了

glRotatef(angle,0,1,0); //angle递增,纹理能动,但好像并不是简单的旋转 glTexGeni(GL_S,GL_TEXTURE_GEN_MODE,GL_SPHERE_MAP);

glTexGeni(GL_T,GL_TEXTURE_GEN_MODE,GL_SPHERE_MAP);

glPopMatrix();glMatrixMode(GL_MODELVIEW);
glRotatef(angle,0,1,0);
glutSolidSphere(0.5,30,30);
glPopMatrix();
glFlush();网上有用glu库二次曲面的,是可以的,这个就不要再说了。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!