#include <GL/glut.h>
void display();
int main(int argc,char **argv)
{
glutInit(&argc,argv);
glutCreateWindow("02160295");
glutDisplayFunc(display);
glutIdleFunc(display); ///似迴圈,使程式重複執行
glutMainLoop();
}
float a=0;
void display()
{
glClearColor(0,1,1,1);
glClear(GL_COLOR_BUFFER_BIT); ///清畫面
/// glTranslatef(0.5,0.5,0.5); ///移動(x,y,z)
glPushMatrix(); ///備份
glColor3f(1,1,0);
glutSolidTeapot(0.2);
glRotated(a, 0.01, 0.01, 0.01); ///旋轉(角度,x,y,z)
glColor3f(0,0,1);
glutWireTorus(0.3,0.7,30,30); ///空心甜甜圈
glPopMatrix(); ///還原
glFlush();
a+=0.1;
}
旋轉 : glTranslatef(x,y,z);
移動 : glRotatef(角度,x,y,z);
縮放 : glScalef(x,y,z);
備份與還原(須將影像寫於兩者間)
備份 : glPushMatrix();
還原 : glPopMatrix();
迴圈 : glutIdleFunc();
沒有留言:
張貼留言