2019年5月23日 星期四

06160301_吳過_W14


檔案網址:http://www.cmlab.csie.ntu.edu.tw/~jsyeh/3dcg10/
下載:WIN32DATAGLUT32.DLLsource
壓縮在同一個資料夾(WINDOWS要包含DATAGLUT32.DLLSOURCE)
需要FREEGLUT-MINGW.ZIP檔案。可以在FREEGLUT WINDOW的網站中找到。
Download

freeglut 3.0.0 for MinGW壓縮檔案,在LIB裡面複製LIBFREEGLUT,貼上改成LIBGLUT32。

開啟CODEBLOCK。FILE(左上角)->NEW->PROJECT->GLUT PROJECT->(命名檔案)->下一步->路徑改成FREEGLUT資料夾的路徑。.
下載檔案

(1)今天的主題:
  1. 主題: 計時器timer
    主題:內插公式

    接下來 要讓視窗還有茶壺變大
    #include <GL/glut.h>
    void display()
    {
        glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

        glutSolidTeapot( 0.3 );

        glutSwapBuffers();
    }
    int main(int argc, char**argv)
    {
        glutInit(&argc, argv);
        glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
        glutInitWindowSize(500,500);///變大了
        glutCreateWindow("week 14 timer");

        glutDisplayFunc(display);
        glutMainLoop();
    }


    #include <GL/glut.h>
    #include <mmsystem.h>///Now (1)
    float angle=0;
    void display()
    {
        glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
        glPushMatrix();
            glRotatef(angle, 0,0,1);
            glutSolidTeapot( 0.3 );
        glPopMatrix();
        glutSwapBuffers();
    }
    void timer(int t)///NOW timer!!!!
    {
        /// 1000 ms = 1 sec,  30 ms = 1/33 sec , 33 fps
        glutTimerFunc(30, timer, t+1 );///NOW timer!!!! 起床要播下一個鬧鐘
        angle += 1;
        glutPostRedisplay();///系統重繪畫面
    }
    int main(int argc, char**argv)
    {
        glutInit(&argc, argv);
        glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
        glutInitWindowSize(500,500);///變大了
        glutCreateWindow("week 14 timer");

        glutDisplayFunc(display);
        glutTimerFunc(3000, timer, 0);///NOW timer!!!!

        glutMainLoop();
    }

  2. 主題:內差公式。
  3. 主題:動畫。
  4. 期末作品。

沒有留言:

張貼留言