#include <gl/glut.h>
static int year=0,day=0;
void init()
{
glClearColor(0.0f,0.0f,0.0f,0.0f);
glShadeModel(GL_FLAT);
}
void display()
{
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0f,1.0f,1.0f);
glPushMatrix();
glutWireSphere(1.0,20,16);
glRotatef((GLfloat)year,0.0,1.0,0.0);
glTranslatef(2.0,0.0,0.0);
glRotatef((GLfloat)day,0.0,1.0,0.0);
glutWireSphere(0.2,10,8);
glTranslatef(1.0,0.0,0.0);
glRotatef((GLfloat)day,0.0,2.0,0.0);//此处添加了一个行星
glutWireSphere(0.2,10,8);
glPopMatrix();
glutSwapBuffers();
}
void reshape(int w,int h)
{
glViewport(0,0,(GLsizei)w,(GLsizei)h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(60.0,(GLfloat)w/(GLfloat)h,1.0,20.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(0.0,0.0,5.0,0.0,0.0,0.0,0.0,5.0,0.0);
}
void keyboard(unsigned char key,int x,int y)
{
switch(key)
{
case 'd':
day=(day+10)%360;
glutPostRedisplay();
break;
ca
opengl 行星系统
最新推荐文章于 2023-02-19 15:20:51 发布
这是一个使用OpenGL创建的行星系统模拟程序,结合键盘输入控制和定时器更新,通过包含特定头文件和缓冲技术实现360度视角展示。

最低0.47元/天 解锁文章
846

被折叠的 条评论
为什么被折叠?



