2022年3月7日 星期一

TC*(˙Ⱉ˙ฅ​)學習日誌-week03

  • 課堂範例

1.下載win32的Example範例

    先去網址: https://jsyeh.org/3dcg10/,然後下載win32

    將windows.zip解壓縮 => \windows\shape.exe,並執行shape.exe





2.打開shape.exe後,在左邊的圖形介面點滑鼠右鍵,會出現一個視窗
    Toggle big vertices => 顯示頂點
    Specify colors@vertices => 顯示顏色
    可以用滑鼠滑動數值,如:glColor可以改變顏色,而glVertex則使線的長短、傾斜程度不一樣
     



  • 實作練習
3.下載上周放在github的OPENGL以及GLUT檔(請回顧week01)
    打開git,輸入cd desktop 進入桌面,然後輸入git clone https://你的倉庫網址
    就可以把在github的檔案下載到桌面上


3.2接著去moodle下載freeglut並解壓縮
     =>打開解壓縮後的freeglut,點擊lib資料夾
     =>複製libfreeglut.a,然後將檔名改成libglut32.a
    (這步很重要!會影響上周的GLUT是不是能夠運行)




3.3打開codeblock=>file=>open,選擇2022graphics
     將week01_OPENGL.cbp以及week01-3_GLUT.cbp打開(記住都是選.cbp檔)
     如果week01-3_GLUT無法正常執行,就代表freeglut沒有解壓縮好或是沒有libglut32.a

      

3.4點開view=>勾選manager,就可以在讓開啟的檔案在左邊視窗進行瀏覽與選擇




4.建立一個GLUT檔案,名稱為week03_color,路徑在桌面



    選擇freeglut所在的路徑




3.4建立好專案後,刪光week03_color的所有程式,並改成下列的程式碼

///先把程式全部刪掉!!!
#include <GL/glut.h>
 void display()
 {
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

    glColor3f(1,1,0);///黃色
    glutSolidTeapot(0.3);///0.3實心茶壺

    glutSwapBuffers();///交換兩倍的buffer
 }

int main(int argc,char**argv)
{///進階的main函式
    glutInit(&argc, argv);///初始化
    glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);///2倍+3D
    glutCreateWindow("week03的視窗");///建立視窗

    glutDisplayFunc(display);///今天用來畫圖的函式

    glutMainLoop();///主要的迴圈
    return 0;
}

就會產生出一個黃色茶壺


5.再建立一個專案,取名為week03_color_TRIANGLES
   利用上面那個黃色茶壺的程式碼,改成彩色三角形

 ///先把程式全部刪掉!!!
#include <GL/glut.h>
 void display()
 {
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

    glColor3f(1,1,0);///黃色

    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();///交換兩倍的buffer
 }

int main(int argc,char**argv)
{///進階的main函式
    glutInit(&argc, argv);///初始化
    glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);///2倍+3D
    glutCreateWindow("week03的彩色視窗");///建立視窗

    glutDisplayFunc(display);///今天用來畫圖的函式

    glutMainLoop();///主要的迴圈
    return 0;
}


6.將今天完成的兩個檔案,week03_color以及week03_color_TRIANGLES複製放入2022graphics
   並利用git推送至雲端

   打開git bush => cd 2022graphics 進入你的倉庫 => git status 看你的狀況(紅的,多了目錄)
    =>git add . 把檔案加進帳冊 => git status 再看一次(綠的,有成功被加進帳冊)

    => git config --global user.email "你的email"
    => git config --global user.name "你的名"
    => git commit -m "上傳第3週"
    
    =>git push 推送到雲端
    
    然後會跳出下面畫面要你登陸,選擇sign in with your broswer,然後會跳出chrome,就可以進行登陸了,登陸完會跳出一個畫面,告訴你成功推送雲端了~

登入畫面

成功推送雲端了!!










沒有留言:

張貼留言