"); //-->

#include <GL/glut.h>
#include <stdlib.h>
static int year = 0, day = 0;
void init()
{
glClearColor(0.0, 0.0, 0.0, 0.0);
glShadeModel(GL_FLAT);
}
void change(void)
{
year = (year + 1) % 360;
day = (day + 1) % 360;
glutPostRedisplay();
}
void display(void)
{
glClear(GL_COLOR_BUFFER_BIT);
glColor3f(1.0, 1.0, 1.0);
glPushMatrix();
glRotatef((GLfloat) year, 0.0, 1.0, 0.0);
glutWireSphere(1.0, 20, 16);
glTranslatef(2.0, 0.0, 0.0);
glRotatef((GLfloat) day, 0.0, 1.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();
//glOrtho(-50.0, 50.0, -50.0, 50.0, -1.0, 1.0);
gluPerspective(60.0, (GLfloat) w/(GLfloat)h, 1.0, 20.0);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(0.0, 5.0, 5.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0);
}
void keyboard(unsigned char key, int x, int y)
{
switch (key)
{
case 'd' :
day = (day + 10) % 360;
glutPostRedisplay();
break;
case 'y' :
year = (year + 10) % 360;
glutPostRedisplay();
break;
case 'a':
glutIdleFunc(change);
break;
case 's':
glutIdleFunc(NULL);
break;
default:
break;
}
}
int main(int argc, char** argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB);
glutInitWindowSize(500, 500);
glutInitWindowPosition(100, 100);
glutCreateWindow("OpenGL Test");
init();
glutDisplayFunc(display);
glutReshapeFunc(reshape);
//glutMouseFunc(mouse);
glutKeyboardFunc(keyboard);
glutMainLoop();
return 0;
}
按A键自动旋转,按S键停止,按D键小球自转,按Y键小球绕着大球转。
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
Mentor发布Catapult C Synthesis延伸产品
新版八位VFD型单片机 -HT49CV3
ANDIGILOG智能热量管理解决方案降低电脑功耗
自制简易遥控开关电路
爱立信或收购英特尔业务
一款遥控信号输入切换电路
iPhone将彻底取消拍摄按钮
瑞萨的超低功耗RA4C1 MCU具备高级安全性和专用外设集
\"逐点半导体\"携手\"真我\"为P4系列智能手机带来旗舰级视觉体验
Altium发布M16C v3.1r1 开发工具
PDIUSBD12 USB接口器件固件编程指南
Microchip WiFi模塊(MRF24WB0Mx系列) 的連線種類與方法—AdHoc Mode的三種連線方式
PDIUSBD12 USB接口器件常见问题解答
利用PIC®单片机实现智能LED照明
中星联华科技受邀参加第三届信息通信仪器仪表产业技术论坛、信息通信测试仪器仪表专委会一届二次委员会
一款红外线遥控电源插座的电路
“Albertgreen”的LED显示HEX视频
PDIUSBD12 SMART 套件用户指南
智能型红外遥控器电路设计
东芝推出小型封装车载光继电器,可实现车载电池系统1500V输出耐压
台积电2nm制程计划将对所有客户“不打折、不议价”,价格比3nm高出约50%-66%
PDIUSBD12 USB接口器件win98驱动程序
泰克将其多项分析技术特长融入RT-Eye软件
从“ 正向设计” 角度如何对“ 电子热管理”进行全局诊断
基于PIC32的VGA.WVGA图形开发工具
\"标普全球汽车\"发布思想领袖峰会,打造智能汽车未来
PDIUSBD12 USB接口器件固件编程指南 (英)
特斯拉Robotaxi服务Bug频频出现,系统性问题究竟是谁的锅?
用彩电遥控器控制玩具车电路
PIC®单片机与LED驱动及控制相关外设介绍(上)