#下載上課範例
jsyeh.org/3dcg10
下載soure data win32
研究data目錄
1.用Notepad++研究 soccerball.odj soccerball.mtl
2.解壓縮 windows.zip=>下載\windows\Transformation.exe
3.解壓縮data.zip=>下載\windows\data\一堆模型檔
4.啟動 Transformation.exe右上角 可切換3D模型
##研究/分析今天的檔案
OBJ裡,有3個重要的英文單字縮寫
-V代表Vertex頂點
-vn代表vertex normal和打光相關的頂點法向量
-f代表 面 face(會有人拚成 facet比較小的面)
-解釋:3dxMax 習慣叫 taiangles 三角形 執行時 快又有效率
-在 Maya等動畫軟體裡 習慣用face(有三角形 四邊形 五邊形
-#井號代表註解 是給人看得 不是給電腦看的
-其他:usemtl xxx使用materail xxx
-其他 :g xxx代表group xxx分群組用
##week07-0_sample
0.安裝
##week07-1_obj_gundam
0.把source.zip 的glm.h 和glm.c解壓縮 再glm.c改glm.cpp
1.開啟檔案 把剛剛的檔案放進專案資料夾裡
2.把專案右鍵 Add把glm.cpp加入
3.把11行GLUT程式碼放入
4.把glm使用時 需要的3段程式碼
| #include <opencv/highgui.h> ///使用 OpenCV 2.1 比較簡單, 只要用 High GUI 即可 | |
| #include <opencv/cv.h> | |
| #include <GL/glut.h> | |
| int myTexture(char * filename) | |
| { | |
| IplImage * img = cvLoadImage(filename); ///OpenCV讀圖 | |
| cvCvtColor(img,img, CV_BGR2RGB); ///OpenCV轉色彩 (需要cv.h) | |
| glEnable(GL_TEXTURE_2D); ///1. 開啟貼圖功能 | |
| GLuint id; ///準備一個 unsigned int 整數, 叫 貼圖ID | |
| glGenTextures(1, &id); /// 產生Generate 貼圖ID | |
| glBindTexture(GL_TEXTURE_2D, id); ///綁定bind 貼圖ID | |
| glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); /// 貼圖參數, 超過包裝的範圖T, 就重覆貼圖 | |
| glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); /// 貼圖參數, 超過包裝的範圖S, 就重覆貼圖 | |
| glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); /// 貼圖參數, 放大時的內插, 用最近點 | |
| glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); /// 貼圖參數, 縮小時的內插, 用最近點 | |
| glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, img->width, img->height, 0, GL_RGB, GL_UNSIGNED_BYTE, img->imageData); | |
| } |
我放棄根本跟不上阿 ㄚㄚㄚㄚ ㄚㄚㄚ
沒有留言:
張貼留言