资源描述:
《简单Opengl时钟时钟源代码 可以运行》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、#pragmacomment(lib,"glut32.lib")#pragmacomment(lib,"glu32.lib")#pragmacomment(lib,"opengl32.lib")#include#include#definePI3.14159GLfloatm_rotAngle=0.0;voidDisplay(void){glClear(GL_COLOR_BUFFER_BIT
2、GL_DEPTH_BUFFER_BIT);glLineWidth(5);GLfloati,angle;GLintcircle_point
3、s=100;GLintcircle_point=60;glBegin(GL_LINE_LOOP);//绘制闹钟的外圆for(i=0;i4、;}glEnd();glMatrixMode(GL_MODELVIEW);glLoadIdentity();glPointSize(1);glBegin(GL_POINTS);//绘制秒针刻度for(i=0;i5、度for(i=0;i<12;i++){angle=2*PI*i/12;glVertex2f(95*cos(angle),95*sin(angle));}glEnd();glMatrixMode(GL_MODELVIEW);glLoadIdentity();glColor3f(1.f,1.f,0.f);glPushMatrix();//绘制秒针glRotatef(m_rotAngle,0.0f,0.0f,1.0f);glTranslatef(0.0f,10.0f,0.0f);glBegin(GL_TRIANGLES);glVertex3f(0,-100,0);gl
6、Vertex3f(1,0,0);glVertex3f(-1,0,0);glEnd();glPopMatrix();//绘制分针glColor3f(1.f,0.f,0.f);glPushMatrix();glRotatef(m_rotAngle/60,0.0f,0.0f,1.0f);glTranslatef(0.0f,10.0f,0.0f);glBegin(GL_TRIANGLES);glVertex3f(0,-80,0);glVertex3f(1,0,0);glVertex3f(-1,0,0);glEnd();glPopMatrix();glColor3f(0.
7、f,0.f,1.f);glPushMatrix();//绘制时针glRotatef(m_rotAngle/3600,0.0f,0.0f,1.0f);glTranslatef(0.0f,10.0f,0.0f);glBegin(GL_TRIANGLES);glVertex3f(0,-60,0);glVertex3f(1,0,0);glVertex3f(-1,0,0);glEnd();glPopMatrix();m_rotAngle+=6.0f;if(m_rotAngle>216000.0f)m_rotAngle=0.0f;glutSwapBuffers();}voi
8、dInit(){glEnable(GL_DEPTH_TEST);//启用隐藏面移除glClearColor(0.0f,0.0f,0.0f,1.0f);}voidGLTimer(intvalue){glutPostRedisplay();glutTimerFunc(100,GLTimer,1);}voidReshape(intw,inth){GLfloatnRange=100.0f;if(h==0)h=1;glViewport(0,0,w,h);glMatrixMode(GL_PROJECTION);glLoadIdentity();if(w<=h)glOrtho
9、(-nRange,nRa