2022年6月14日 星期二

ʕ •ᴥ•ʔ week17


week17 20220614
小葉老師上課要點:
1. 期末作品繳交方式
2. 期末作品評分方式
3. 網友問 push matrix 和 pop matrix 事件
4. 整學期大複習-示範期末作品怎麼做

 

主題: 整學期每週主題回顧複習

2022電腦圖學 Computer Graphics 授課教師: 葉正聖 銘傳大學資訊傳播工程系 
每週主題: 程式環境、點線面顏色、移動/旋轉/縮放與矩陣(Matrix)、階層性關節轉動(T-R-T)、做出機器人、打光、貼圖、glu/glut函式、鍵盤、滑鼠、計時器(timer)、讀入3D模型、粒子系統、聲音、特效、投影矩陣、攝影機與運鏡、機器人2.0、期末作品

*程式環境 : 
Codeblocks、建立專案 (week01)
設定 Compiler(咒語) (week10)
確定工作目錄在專案檔裡 (week16)

1. 開啟 codeblocks 建新的 GLUT 專案 : week17_demo_step_by_step

*點線面顏色:
基本10行程式碼 ( display()+main()前3行程式碼+最後一行glutMainLoop() )

2. 寫上10行程式碼,設定茶壺顏色:glColor(r,g,b) 想改背景色: glClearColor(r,g,b,a)

*打光
3. 為茶壺打光 !! 複製程式碼,自己定義 myLight()放進去

*讀入3D模型
4. 加入 glm.h 和 glm.cpp ,模型檔放在工作目錄 (一堆模型可以在專案檔裡新建 data 資料夾放進去)

5. 開始寫程式碼讀入模型:
    用 #imclude "glm.h" , GLMmodel * xxx = NULL ........

    可以用 myReadGoundam() 改成 myReadOne() 及 myReadAll()

*貼圖
OpenCV 及 myTexture範例 , 圖, 畫
貼圖也要放在工作目錄內

6. 去複製 myTexrure 程式碼來用 + 記得打開 3D 測試功能 + 調整打光 + 圖可能貼倒貼錯要調整

不想貼圖: glutDisable(GL_TEXTURE_2D);
打開貼圖: glutEnable(GL_TEXTURE_2D);

想要兩張貼圖: 
宣告2個整數 GLint tex1, tex2; 
在main()裡 tex1 = myTexture("工作目錄中圖的路徑"); tex2 = myTexture("作目錄中圖的路徑"); 
在 display()裡  
glBindTexture(GL_TEXTURE_2D, tex1); glBindTexture(GL_TEXTURE_2D, tex2);

*攝影機與運鏡
模型是背對的怎麼辦? 調整攝影機!!

透視頭投影法:
從 week17 筆記有寫: 備份範例程式第117行程式碼來用

glutPerspective ()
glutReshapeFunc()
gluLookAt()

*階層性關節轉動(T-R-T) / 移動/旋轉/縮放與矩陣(Matrix) / 滑鼠
為什麼一直留著茶壺? 因為茶壺在視窗正中心可以作為基準幫助TRT順利完成

利用 mouse motion 來找T-R-T位置(數值),會一直需要註解程式碼 (week16)




做出機器人、
glu/glut函式、
鍵盤、
計時器(timer)、
粒子系統、
聲音、特效、投影矩陣、、機器人2.0、期末作品


沒有留言:

張貼留言

VERY BEAUTIFUL, VERY POWERFUL

一.     一樣先安裝且設定好freeglut,OpecCV, 開啟CodeBlocks建立新專案 week11_gundam,                 把 MyGundam.zip下載解壓縮後的data資料夾放到freeglut/bin裡面 把week09_openc...