2020年4月22日 星期三

電腦圖學 第09週 2020-04-22


#include <GL/glut.h>
void myCube() ///先設一個函式,做方塊
{
      glPushMatrix();  ///備份矩陣
        glColor3f(1,0,0); ///顏色
        glScalef(0.5,0.2,0.2);
        glutSolidCube(1);
    glPopMatrix(); ///還原矩陣
}
float angle=0; ///角度的初始值
void display()
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glutSolidCube(0.6); 綠色的身體

    glPushMatrix();
        glTranslatef(0.3,0.3,0);
        glRotatef(angle,0,0,1); ///旋轉
        glTranslatef(0.22,0,0); ///把轉動的中心,放到畫面的中心
        myCube(); ///呼叫函試
    glPopMatrix();
    angle++; ///角度增加
    glutSwapBuffers();
}
int main(int argc, char**argv)
{

    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
    glutCreateWindow("0");
    glutIdleFunc(display);   ///有空idle時,在重劃畫面
    glutDisplayFunc(display);
    glutMainLoop();
}

沒有留言:

張貼留言