2024年4月15日 星期一

week09.0313

 #week09


##week09-0_sample

1. 安裝 freeglut,將 lib\freeglut.lib 複製成 libglut32.a

2. File-New-Project,GLUT 專案,week09-0_sample


##程式碼重新利用

1. 安裝 git 軟體

2. 上週程式碼 clone 下來

-在小 Git Bash 裡指令

-cd desktop (先進桌面)

-git clone https://github.com/Heloiselin/2024graphicsb

-cd 2024graphicsb (進入倉庫目錄)

-start . (開啟檔案總管)

3. 確認環境沒問題 (OpenCV)

-安裝 OpenCV 要勾 Add PATH,裝在預設目錄

-上方第三個分頁 Search directories 裡

    -Compiler 加 C:\OpenCV2.1\include

    -Linker 加 C:\OpenCV2.1\lib

-上方第二個分頁 Linker Setting

    -cv210 cxcore210 highgui210

-重新開啟 CodeBlocks, Start 開始頁裡,有剛剛 week09-0_sample 先點它

4. 專案的設定是否需要修改


##開啟上週專案 week07-2_obj_gundam_opencv_texture

1. File-Open,點選剛剛 Git 下載的 week07-2_obj_gundam_opencv_texture

    -C:\Users\Administrator\Desktop\2024graphicsb\week07-2_obj_gundam_opencv_texture

2. 選 week07-2_obj_gundam_opencv_texture.cbp (CodeBlocks Project 檔)

3. Build&Run 看它執行成功了,即可


##week09-1_obj_gundam_opencv_texture_lighting

1. 剛剛前一個目錄 week07-2_obj_gundam_opencv_texture 整個 copy 到新的目錄

week09-1_obj_gundam_opencv_texture_lighting

2. 用 Notepad++ 開啟 week09-1 目錄裡的 .cbp 檔,改內容

3. 把打光的8行陣列,貼在 int main() 之前

4. 把打光的12+2行函式,貼到 glutMainLoop() 之前

5. glmDraw(pmodel, GLM_SMOOTH | GLM_TEXTURE) 要刪掉中間的 GLM_MATERIAL


#為了讓畫面好看一點、打光漂亮、模型旋轉,做幾個修改

1. 改變光的位置(改陣列的值)

const GLfloat light_position[] = { 2.0f, 5.0f, 5.0f, 0.0f };

---> const GLfloat light_position[] = { 2.0f, 5.0f, -5.0f, 0.0f };

2. 在 display() 加入旋轉

-void display() 前面 --> float angle=0;

-void display() 程式裡面 --> 

   glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);

    glPushMatrix();

        glRotatef(angle++, 0, 1, 0);

        drawmodel(); ///glutSolidTeapot( 0.3 );

    glPopMatrix();

    glutSwapBuffers();

-int main() 程式裡面 -->

    myTexture() 前加上 glutIdleFunc(display);


##week09-2_glutSolidCube_glutSolidTeapot_glutSolidSphere

1. 開專案

2. 貼入11行程式









##week09-3_glutWireCube_glutWireTeapot_glutWire_Sphere

1. 開專案

2. 直接貼上week09-2 程式碼

3. 剛 display() 裡,有3段實心程式碼,有3段空心程式碼










##上傳 GitHub 注意事項

1. 小黑關掉

2. CodeBlocks 關掉 (都要按 Yes 存檔)

3. 把每個專案的兩個目錄 (bin, obj) 刪掉

4. 把 .depend .layout 刪掉

5. 把今天的4個程式的專案目錄,上傳到 GitHub








沒有留言:

張貼留言