課程內容:
1.畫一個實心的圓球
///備份完清空
#include <GL/glut.h>
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glutSolidSphere(0.3,30,30);///實心的圓球
///半徑,縱切,橫切
glutSwapBuffers();
}
int main(int argc, char** argv)
{
glutInit( &argc, argv );
glutInitDisplayMode( GLUT_DOUBLE | GLUT_DEPTH );
glutCreateWindow(" Week14 timer ");
glutDisplayFunc(display);
glutMainLoop();
}
2.啟動glutTimerFunc()會在4秒後
///備份完清空
#include <GL/glut.h>
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glutSolidSphere(0.3,30,30);///實心的圓球
///半徑,縱切,橫切
glutSwapBuffers();
}
void timer(int t)
{
glClearColor(1,0,0,0);///清除背景的色彩:紅色
display();
}
int main(int argc, char** argv)
{
glutInit( &argc, argv );
glutInitDisplayMode( GLUT_DOUBLE | GLUT_DEPTH );
glutCreateWindow(" Week14 timer ");
glutDisplayFunc(display);
glutTimerFunc(4000, timer, 0);
///要等多久,叫誰,參數
glutMainLoop();
}
3.講解縱切橫切 (glutWireSphere)
4.定時旋轉方塊
#include <GL/glut.h>
int angle=0;
void display()
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glPushMatrix();
glRotatef(angle,0,0,1);
glutSolidCube(0.3);
glPopMatrix();
glutSwapBuffers();
}
void timer(int t)
{
glutTimerFunc(30 , timer, t+1);
angle++;
display();
}
int main(int argc, char** argv)
{
glutInit( &argc, argv );
glutInitDisplayMode( GLUT_DOUBLE | GLUT_DEPTH );
glutCreateWindow(" Week14 timer ");
glutDisplayFunc(display);
glutTimerFunc(4000, timer, 0);
glutMainLoop();
}







沒有留言:
張貼留言