2021年3月8日 星期一

Week03

1. OpenGL

(1)1. CodeBlocks 開起來

2. File-New-Project, 選 OpenGL 專案
3. 要記得寫 Project名字是 week01
4. 要記得 ... 要選桌面
5. 下下下, 
6. Build&Run 執行
5行程式碼

(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.OpenGLUT

(1)

1. CodeBlocks 開起來

2. File-New-Projct, 選 GLUT 專案

3. 在 Mooodle 下載 freeglut.....zip
4. 只要把 freeglut 目錄解到桌面,OK
5. C:\Users\你\Desktop\freeglut\lib
    libfreeglut.a =copy=> libglut32.a
6. 記得 GLUT目錄 C:\....\Desktop\freeglut

GLUT
(2)刪程式碼
刪除打叉的程式碼

最後保留的程式碼
#include <GL/glut.h>

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

    glutSwapBuffers();
}


int main(int argc, char *argv[])
{
    glutInit(&argc, argv);
    
    glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
    
    glutCreateWindow("GLUT Shapes");

    glutDisplayFunc(display);
   
    glutMainLoop();

  
}
3.GLUT程式碼
(1)插入GL程式碼
插入GL程式碼
(2)標註說明
標註說明

#include <GL/glut.h> ///(0)記得include

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);///(1)設定GLUT的初始碼

    glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);///(2)顯示模式

    glutCreateWindow("GLUT Shapes");///(3)開GLUT視窗

    glutDisplayFunc(display);///(4)顯示的函式

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


}
4.親手寫GLUT



#include <GL/glut.h> ///(0)記得include

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);///(1)設定GLUT的初始碼

    glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);///(2)顯示模式

    glutCreateWindow("08162412");///(3)開GLUT視窗

    glutDisplayFunc(display);///(4)顯示的函式

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


5.argc,argv

argc:參數

6.畫圖










沒有留言:

張貼留言

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

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