glRectf 化矩形做 T-R-T 掛紅色手臂
完整程式碼
增加綠手肘
mouse , motion 可以改變角度
完整程式碼
加入Keyboard( )函式控制關節
keyboard()鍵盤函式 可以切換angleID, 來改變關節
完整程式碼
2022電腦圖學 Computer Graphics 授課教師: 葉正聖 銘傳大學資訊傳播工程系 每週主題: 程式環境、點線面顏色、移動/旋轉/縮放與矩陣(Matrix)、階層性關節轉動(T-R-T)、做出機器人、打光、貼圖、glu/glut函式、鍵盤、滑鼠、計時器(timer)、讀入3D模型、粒子系統、聲音、特效、投影矩陣、攝影機與運鏡、機器人2.0、期末作品
glRectf 化矩形做 T-R-T 掛紅色手臂
完整程式碼
增加綠手肘
mouse , motion 可以改變角度
完整程式碼
加入Keyboard( )函式控制關節
keyboard()鍵盤函式 可以切換angleID, 來改變關節
完整程式碼
將 week09 茶壺貼圖改成四邊形變背景圖
利用 貼圖座標 glTexCoord2f(tx,ty) 與 頂點座標 glVertex2f(x,y) 來設定背景圖
注意: 圖片的左上角是(0,0)
背景圖與完整程式碼
貼到一個會旋轉的圓球
step01 - 先畫出一個圓球
Q: 怎麼畫圓球 ?
A: 圓球的貼圖座標,要用 cos(), sin()來算出來 => gluQuadric 繪製二次曲面
step02 - 讓球旋轉起來
(為了凸顯選轉效果,以地球圖片做範例)
重點:
使用 glRotatef(angle,0,0,1) 做旋轉(逆時針) ,用 angle 設定旋轉角度,在 display() 最後 angle += 1 可改變角度。
逆時針選轉改成平移選轉需要加上 glRotatef(90,1,0,0) 將圖形轉正,glEnable(GL_DEPTH_TEST) 加入3D深度。
貼 Gundam 模型
將 jsyeh.org/3dcg10 網站下載的 source.zip 解壓縮 (glm.h , glm.c) 放在新建的專案目錄中
*** glm.c 要改附檔名為 glum.cpp
工作目錄 C:\...\freeglut\bin 裡要放 Gundam 模型
完整程式碼 :
打開 Texture.exe 練習
在 https://jsyeh.org/3dcg10/ 下載 data.zip | win32.zip 打開 Texture.exe
*不要改目錄 選第二個*
在 https://jsyeh.org/3dcg10/ 下載 data.zip | sourse.zip 複製 lightmaterial.c 的程式碼
drawmodel() 用來畫3D模型的程式碼
把data.zip (3D模型)解壓放在 \\freeglut\bin
glm.h 和 glm.c 要放在專案的資料夾 (glm.c 要改成 glm.cpp)
glm.cpp 要讀入Code::blocks 專案中
#include <GL/glut.h> //角括號,是系統的include裡 的檔案
#include "glm.h" //雙引號,同目錄裡 的檔案
(取自 : 熱血的小葉老師圖雪筆記 week08 https://2022graphicsa.blogspot.com/2022/04/week08_2)
用 Keyboard 函式使用鍵盤找座標
新學習的程式碼
glRotatef 旋轉
*重點*
glRotatef( 角度 , x 軸 ,y 軸 ,z 軸)
----------------------------------------------------------------------------------------------------
滑鼠移動控制
完整程式碼
利用滑鼠找座標
----------------------------------------------------------------------------------------------------------------
重點
#include <stdio.h> // 小黑 print 座標用
----------------------------------------------------------------------------------------------------------------
完整程式碼
*第一周還沒選到課*
一. 建立 OpenGL 專案
Build & Run 可以看到彩色旋轉的三角形
二. 建立 GLUT 專案
---------------------------------------------------------------------------------------------------------------------------
1. moodle 下載 freeglut.zip
2. 解壓縮 把 lib 資料夾 libfreeglut.a 改成 libglut32.a
---------------------------------------------------------------------------------------------------------------------------
範例下載網址 : https://jsyeh.org/3dcg10/
下載檔案 : [data] [win32] (windows.zip 解壓縮 | 安裝 shape.exe)
------------------------------------------------------------------------------------------
1. 跑 shape.exe
左鍵見選單 (大頂點 很多顏色) | 右鍵見選單 ( point , polygon )
2. 打造自己的 Glut
複製 138 的程式片段
3. 標定色彩
一. 一樣先安裝且設定好freeglut,OpecCV, 開啟CodeBlocks建立新專案 week11_gundam, 把 MyGundam.zip下載解壓縮後的data資料夾放到freeglut/bin裡面 把week09_openc...