2021年3月24日 星期三

08160625 陳君豪 week05

 

讀程式碼從下往上讀

glBegin(); 開始畫

glScalef(); 拉長

glRotatef(); 旋轉

glTranslatef(); 移動

-----------------------------------------------------------------------------------

#include <GL/glut.h>

int N=0, vx[3000], vy[3000];

float angle=0;

void display()

{

    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);


    glPushMatrix();

        glRotatef(angle, 0, 0, 1);

        glBegin(GL_LINE_LOOP);

        for(int i=0; i<N; i++){

            glVertex2f( (vx[i]-150)/150.0, -(vy[i]-150)/150.0 );

        }

        glEnd();

    glPopMatrix();

    glutSwapBuffers();

}

void keyboard( unsigned char key, int x, int y)

{

    angle++;

    display();

}

void motion(int x, int y)

{

    vx[N]=x; vy[N]=y;

    N++;

    display();

}


int main(int argc, char *argv[])

{

    glutInit(&argc, argv);

    glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);

    glutCreateWindow("08160625");


    glutDisplayFunc(display);

    glutKeyboardFunc( keyboard );

    glutMotionFunc(motion);

    glutMainLoop();

}


按按鍵圖案會旋轉

沒有留言:

張貼留言

距地表面160 Week11

 #include "glm.h" GLMmodel* pmodel = NULL; void drawmodel(void) {     if (!pmodel) { pmodel = glmReadOBJ("data/porsche.obj...