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条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 请教一下各位,为什么我这个没有实现模拟点击
    • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
    • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
    • ¥20 有关区间dp的问题求解
    • ¥15 多电路系统共用电源的串扰问题
    • ¥15 slam rangenet++配置
    • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
    • ¥15 ubuntu子系统密码忘记
    • ¥15 保护模式-系统加载-段寄存器
    • ¥15 电脑桌面设定一个区域禁止鼠标操作