2022年3月1日 星期二

電腦圖學筆記 week02

WEEK02

1. 至https://jsyeh.org/3dcg10     下載    data.zip windows.zip glut32.dll



2. 解壓縮 windows.zip 跟  data.zip  -> glut32.dll 放到 windows.zip解壓縮後的資料夾內



3. 執行Shapes.exe 看範例,試試看

   左可按右鍵選單: 大頂點、很多顏色

   右可按右鍵選單: POINT....POLYGON 



    執行上禮拜的程式

1.下載 Git for Windows





2. 開啟 Git Bash: cd desktop, git clone 你的網址 cd 2022graphics1


3. 下載 freeglut, 記得改檔名 lib\libglut32.a



4. 在 CodeBlocks File-Open week01_GLUT專案


    5.執行





    寫出第一個GLUT程式

    茶壺

    1.開新的project


            #include GLglut.h

        void display ()
        {
            glClear( GL_COLOR_BUFFER_BIT  GL_DEPTH_BUFFER_BIT );
            glColor3f(1,1,0);
            glutSolidTeapot(0.3);
            glutSwapBuffers();
        }

        int main (int argc,char argv)
        {
            glutInit( &argc,argv);
            glutInitDisplayMode( GLUT_DOUBLE  GLUT_DEPTH);
            glutCreateWindow(第二周的程式!);

            glutDisplayFunc(display);
            glutMainLoop();
        }


    2.輸入程式碼



    彩色三角形
    

   
    1.修改茶壺程式碼

    #include <GL/glut.h> ///使用GLUT外掛簡化程式

    void display ()
    {
        glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
        glColor3f(1,1,0);///設定色彩
        glBegin(GL_POLYGON);
            glColor3f(1,1,0);///紅色
            glVertex2f(-1,-1);

            glColor3f(0,1,0);///綠色
            glVertex2f(+1,-1);

            glColor3f(0,0,1);///綠色
            glVertex2f(0,+1);
            glEnd();
        glutSwapBuffers();///畫好後,交換出來
    }

    int main (int argc,char** argv)///main()主函式 進階版
    {
        glutInit( &argc,argv);///把參數,送給glutInit 初始化
        glutInitDisplayMode( GLUT_DOUBLE | GLUT_DEPTH);///雙緩衝區+3D深度功能
        glutCreateWindow("第二周的程式!");///開GLUT視窗

        glutDisplayFunc(display);///用來顯示的函式
        glutMainLoop();///主要的程式迴圈
    }

    2.執行程式



Homework-菱形

1.依照三角形程式碼
2.改變頂點、顏色,畫出藍色菱形

 #include <GL/glut.h> ///使用GLUT外掛簡化程式

    void display ()
    {
        glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
        glColor3f(1,1,0);///設定色彩
        glBegin(GL_POLYGON);

            glColor3f(2,1,1);
            glVertex2f(0.5,0);


            glColor3f(0,2,1);
            glVertex2f(0,1);

            glColor3f(0,5,1);
            glVertex2f(-0.5,0);

            glColor3f(0,5,1);
            glVertex2f(0,-1);

            glEnd();
        glutSwapBuffers();///畫好後,交換出來
    }

    int main (int argc,char** argv)///main()主函式 進階版
    {
        glutInit( &argc,argv);///把參數,送給glutInit 初始化
        glutInitDisplayMode( GLUT_DOUBLE | GLUT_DEPTH);///雙緩衝區+3D深度功能
        glutCreateWindow("第二周的程式!");///開GLUT視窗

        glutDisplayFunc(display);///用來顯示的函式
        glutMainLoop();///主要的程式迴圈

    }







沒有留言:

張貼留言

VERY BEAUTIFUL, VERY POWERFUL

一.     一樣先安裝且設定好freeglut,OpecCV, 開啟CodeBlocks建立新專案 week11_gundam,                 把 MyGundam.zip下載解壓縮後的data資料夾放到freeglut/bin裡面 把week09_openc...