2021年3月8日 星期一

Week_03 2021.03.08

1. 自己畫東西

    (1) 開啟Open GL檔

            



    (2) 複製程式碼

            glBegin(GL_TRIANGLES);


                glColor3f(1.0f, 0.0f, 0.0f);   glVertex2f(0.0f,   1.0f);

                glColor3f(0.0f, 1.0f, 0.0f);   glVertex2f(0.87f,  -0.5f);

                glColor3f(0.0f, 0.0f, 1.0f);   glVertex2f(-0.87f, -0.5f);


            glEnd();

    

2. 重開一個GLUT檔

    (1) 複製libfreeglut.a 並改成 libglut32.a
    (2) 存檔在C:\Users\Administrator\Desktop\freeglut
    (3) 會出現

    (4) 刪除程式碼,只留下

            

    (5) 貼上程式碼

            #include <GL/glut.h>  GLUT外掛

            static void display(void)
            {
                glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

                    glBegin(GL_TRIANGLES);
                    glColor3f(1.0f, 0.0f, 0.0f);   glVertex2f(0.0f,   1.0f);
                    glColor3f(0.0f, 1.0f, 0.0f);   glVertex2f(0.87f,  -0.5f);
                    glColor3f(0.0f, 0.0f, 1.0f);   glVertex2f(-0.87f, -0.5f);
                    glEnd();

                glutSwapBuffers();
            }

            int main(int argc, char *argv[])
            {
                glutInit(&argc, argv);  設定GLUT的初始化

                glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);   顯示模式
                glutCreateWindow("GLUT Shapes");   開GLUT視窗
                glutDisplayFunc(display);  顯示的函式

                glutMainLoop();   GLUT主要的迴圈,卡住不要結束
            }
            

3. 新開一個GLUT檔,自己打

            #include <GL/glut.h>   GLUT外掛

            void display()
            {
                glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);    清空

                glutSolidTeapot(0.3);   實心茶壺

                glutSwapBuffers();   交換兩倍的buffers
            }

            int main(int argc,char **argv)
            {
                glutInit(&argc,argv);   初始設定GLUT
                glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);   顯示模式
                glutCreateWindow("08160130");   開一個視窗

                glutDisplayFunc(display);   要顯示的函式

                glutMainLoop();   主要迴圈
            }
            

4. 參數

    (1) 用第一個檔案Week03_1修改


            #include <stdio.h>
            int main(int argc,char**argv)
            {
                printf("現在的 argc 是:%d\n",argc);
                for(int i=0;i<argc;i++)
                {
                    printf("argv[%d]是:%s\n",i,argv[i]);
                }
            }
            

5. 如果要增加參數

    (1) 開啟小黑 cmd
    (2) 開啟                
C:\Users\Administrator>C:\Users\Administrator\Desktop\Week03\bin\Debug\Week03.exe
    (3) 在後面打參數
    (4) 

    
6. 畫統神(不太懂未完成)
    (1) 

    (2) 
            #include <GL/glut.h> ///GLUT外掛

    static void display(void)
    {
        glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

        glColor3ub(181,212,148); ///unsigned byte 是 0~255
        glBegin(GL_TRIANGLES);

            glColor2f((223-150)/150.0,-(250-150)/150.0);
            glColor2f((320-150)/150.0,-(237-150)/150.0);
            glColor2f((296-150)/150.0,-(313-150)/150.0);
            glEnd();

        glutSwapBuffers();
    }


    int main(int argc, char *argv[])
    {
        glutInit(&argc, argv); ///設定GLUT的初始化

        glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH); ///顯示模式
        glutCreateWindow("GLUT Shapes"); ///開GLUT視窗
        glutDisplayFunc(display); ///顯示的函式

        glutMainLoop();  ///GLUT主要的迴圈,卡住不要結束
    }


7. 加課
    (1) 設定GitHub帳號
    (2) 加完整整程式碼 ```
    (3) 
https://github.com/08160130/Week03-2021.03.08/blob/main/README.md























沒有留言:

張貼留言

Week18期末作業(橘貓的跳舞熊熊)

 期末作業(橘貓的跳舞熊熊) 影片: https://youtu.be/R89tptMaQZw 程式碼: #include <opencv/highgui.h> #include <opencv/cv.h> #include <GL/glut.h...