wang_jia_fa 2013-12-22 14:46
浏览 4578

用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库二次曲面的,是可以的,这个就不要再说了。

  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥20 delta降尺度方法,未来数据怎么降尺度
    • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
    • ¥15 再不同版本的系统上,TCP传输速度不一致
    • ¥15 高德地图点聚合中Marker的位置无法实时更新
    • ¥15 DIFY API Endpoint 问题。
    • ¥20 sub地址DHCP问题
    • ¥15 delta降尺度计算的一些细节,有偿
    • ¥15 Arduino红外遥控代码有问题
    • ¥15 数值计算离散正交多项式
    • ¥30 数值计算均差系数编程