2015年3月19日 星期四

FreeGLUT Test4







#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();

沒有留言:

張貼留言