您的位置:首页 > 运维架构

关于OpenGL入门中地球,月亮,太阳运动模拟无法显示的问题(只显示黑框)

2014-11-29 08:15 731 查看
myDisplay函数中的源码如下:

glEnable(GL_DEPTH_TEST); 

glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); 

glMatrixMode(GL_PROJECTION); 

glLoadIdentity(); 

gluPerspective(75, 1, 1, 400000000); 

glMatrixMode(GL_MODELVIEW); 

glLoadIdentity();

 gluLookAt(0, -200000000, 200000000, 0, 0, 0, 0, 0, 1); 

// 绘制红色的“太阳” 

glColor3f(1.0f, 0.0f, 0.0f); 

glutSolidSphere(69600000, 20, 20); 

// 绘制蓝色的“地球” 

glColor3f(0.0f, 0.0f, 1.0f);

 glRotatef(day/360.0*360.0, 0.0f, 0.0f, -1.0f); 

glTranslatef(150000000, 0.0f, 0.0f); 

glutSolidSphere(15945000, 20, 20); 

// 绘制黄色的“月亮” glColor3f(1.0f, 1.0f, 0.0f); 

glRotatef(day/30.0*360.0 - day/360.0*360.0, 0.0f, 0.0f, -1.0f); 

glTranslatef(38000000, 0.0f, 0.0f); 

glutSolidSphere(4345000, 20, 20); 

glFlush();

按照这个参数去设置时无法显示太阳,月亮和地球;原以为是没有添加glViewport函数,加上后,仍不显示。原因在哪?

其实是参数设置的过大,可以把太阳,月亮,地球的大小,距离同时缩小1000倍,就能正常显示了

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: