2021年5月19日 星期三

week13

 今天內容

地一部分

 *freeglut 有裝成功
 *OpenCV 有裝正確, 設定(C:\OpenCV2.1\include )(C:\OpenCV2.1\lib)(cv210 cxcore210 highgui210)

 *Blog記得開起來寫
*moodle----- hackmd.io/@jsyeh/opengl 有 貼圖範例程式
*Fiile-New-Project, GLUT專案 (把main.cpp內容備份)
*把貼圖範例程式 放入 main.cpp (把 puipui.jpg 改成 Diffuse.jpg)
*把圖檔放好 桌面/freeglut/bin  有 Diffuse.jpg bg.jpg (Teams裡)


從moodle中老師給的網址去找貼圖範例程式

原先的main程式不要刪掉,丟去nodepad++裡面

把原本貼圖範例程式中有puipui.jpg換成Diffuse.jpg


第二部分

* 讓目錄正確 (因桌面/freeglut/bin 太怪了。要改到 專案目錄week13_robot)
*把 freeglut\bin 的 freeglut.dll copy到專案目錄 week13_robot
       把 Diffuse.jpg 及 bg.jpg 移到專案目錄 week13_robot
* 用 Notepad++ (快裝) 把 week13_robot\week13_robot.cbp 專案檔打開
       兩個working_dir 要改成 "."  再存檔
*CodeBlocks會出現 Reload畫面, 設好它


第三部分

*glm模式
*檔案準備好 source.zip (glm.h glm.cpp(改), transformation.c)
*模型準備好 gundam還沒切開.zip 裡有 Gundam.obj Gundam.mtl Diffuse.jpg 
*要加入程式 (在week13_robot 專案中, Add 把 glm.cpp 加入)
用 Notepad++ 開 transformation.c 要偷裡面的程式
       #include "glm.h"
       GLMmodel * pmodel = NULL;
       再 copy drawmodel() 的函式在156~168行, 改glmReadOBJ("檔名") 及 改右邊 glmDraw(...             GLM_TEXTURE) , 並在 display()裡叫 drawmodel()
*圖檔Diffuse.jpg看起來需要上下反過來, 可用小畫家幫忙,存檔後再執行即可
* 旋轉
*T-R-T



要記得把茶壺的程式碼刪掉,不然剛彈會有茶壺!!!

上面照片是有打上翻轉程式碼
先宣告float angle=180;
再到程式中打上翻轉程式碼
glPushMatrix();
        glRotatef(angle,0,1,0);
        drawmodel();
glPopMatrix();

第四部份
* 旋轉
*先整體旋轉 glPushMatrix(); glRotatef(角度, 0,1,0); 畫圖; glPopMatrix();
*背景的圖,移一下

第五部分
*T-R-T
*先把(許多小)模型準備好 body.obj body.mtl, arm1.obj arm1.mtl, arm2.obj arm2.mtl...
*把 GLMmodel * body = NULL 等都加上許多指標 (body, arm1, arm2)
*glmReadOBJ(), glmDraw(); (還沒教到)

沒有留言:

張貼留言

距地表面160 Week11

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