2021年3月3日 星期三

NEKO no Computer Graphics_week02

 


哈哈 我又來了


    上次簡單介紹了openGL和freeglut的專案開啟方法

    但是預設的程式碼對新手而言實在很難看懂

    所以老師就先刪減預設的程式碼了

    首先把freeglut的main檔刪減


刪減前

刪減後


    解釋一下刪剩的碼

    include glut的外掛

    main函式裡是基礎的視窗設定,呼叫display函數,最後是使程式迴圈

    然後display函數裡,第一行是清除背景,第三行是印出中間的東西

    至於中間就是要印出來的東西了

    包含形狀,顏色等

這是程式執行的結果(茶壺)

加上了顏色的程式碼長這樣

    glColor3f(R,G,B),R控制紅色,G控制綠色,B控制藍色,3f是指用3個float控制顏色變量
    
    
    最後是這個


    把openGL的原始專案檔裡三角形部分的碼複製過來
    
    glBegin()是openGL開始畫圖的函式,裡面的參數決定畫什麼形狀

    然後以glEnd()收尾

    例如GL_POINT就是畫一個點

    GL_LINE_LOOP就是畫一個線圈(如下圖)



    而GL_TRIANGLES是三角形的參數

    然後glVertex2f(X,Y)可以指定頂點座標

    而glColor3f(R,G,B)指定座標的顏色

    再加上上面的茶壺結果就是上圖

  
    然後老師教了如何畫圓
    
    圓是多邊形所以用GL_POLYGON

    顏色沒差,頂點用單位圓的概念來做

    做一個迴圈把單位圓上的點都標出來

    結果就像下圖

    
    今天就到這裡拉~



    

    

沒有留言:

張貼留言

距地表面160 Week11

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