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、期末作品

沒有留言:
張貼留言