0329 如何使GLUT可讀入MAYA模型檔?
1. 準備好環境
2. 修改程式
3. Debug
4. 上課筆記
5. 功課
1. 準備好環境
2.修改程式
(1) 加入#include "glm.h" ///匯入
(2) link glm.cpp file ///在codeblocks左邊workspace 地方點選專案名字按右鍵add file
(3) 宣告 GLMmodel* pmodel = NULL; ///宣告指標
(4) 加程式到display裡面
*********************************************************
if (!pmodel) { pmodel = glmReadOBJ("data/AL.obj");///讀模型 if (!pmodel) exit(0);///讀不到離開 glmUnitize(pmodel); ///調整大小 glmFacetNormals(pmodel);///調法向量 glmVertexNormals(pmodel, 90.0);///調法向量 } glmDraw(pmodel, GLM_SMOOTH | GLM_MATERIAL);///畫模型 }
*********************************************************
A1 代表光線位置有問題,改light_position[] 裡的z即可
Q2 如果嘴巴曲線炸掉
A2 應該是不小心複製到glEnable(GL_CULL_FACE)
理由在這: cull face 解釋
TD thechnical director 技術(2) link glm.cpp file ///在codeblocks左邊workspace 地方點選專案名字按右鍵add file
(3) 宣告 GLMmodel* pmodel = NULL; ///宣告指標
(4) 加程式到display裡面
*********************************************************
if (!pmodel) { pmodel = glmReadOBJ("data/AL.obj");///讀模型 if (!pmodel) exit(0);///讀不到離開 glmUnitize(pmodel); ///調整大小 glmFacetNormals(pmodel);///調法向量 glmVertexNormals(pmodel, 90.0);///調法向量 } glmDraw(pmodel, GLM_SMOOTH | GLM_MATERIAL);///畫模型 }
*********************************************************
成功~~~
3. Debug
Q1 如果人物很暗A1 代表光線位置有問題,改light_position[] 裡的z即可
Q2 如果嘴巴曲線炸掉
A2 應該是不小心複製到glEnable(GL_CULL_FACE)
理由在這: cull face 解釋
4. 上課筆記
TA Technical Artist
notepad++ 存成cpp > 有顏色
notepad++ 外掛 > NppExport > Export to html
lightMaterial.c 搜尋glm 找第一個、第二個、第三個
讀入3D模型 include glm.h
GLMmodel* pmodel= NULL
"glm.h" 要放在專案目錄
glm.c放入
codeblocks 新增檔案>
drawmodel() 裡面城市複製到display
freeglut
bin
include
lib
丟之前的data到 bin裡
Debug
||=== Build: Debug in class0329 (compiler: GNU GCC Compiler) ===|
C:\Users\alant\Desktop\class0329\main.cpp||In function 'void display()':|
C:\Users\alant\Desktop\class0329\main.cpp|20|warning: deprecated conversion from string constant to 'char*' [-Wwrite-strings]|
obj\Debug\main.o||In function `Z7displayv':|
C:\Users\alant\Desktop\class0329\main.cpp|20|undefined reference to `glmReadOBJ(char*)'|
C:\Users\alant\Desktop\class0329\main.cpp|22|undefined reference to `glmUnitize(_GLMmodel*)'|
C:\Users\alant\Desktop\class0329\main.cpp|23|undefined reference to `glmFacetNormals(_GLMmodel*)'|
C:\Users\alant\Desktop\class0329\main.cpp|24|undefined reference to `glmVertexNormals(_GLMmodel*, float)'|
C:\Users\alant\Desktop\class0329\main.cpp|27|undefined reference to `glmDraw(_GLMmodel*, unsigned int)'|
||error: ld returned 1 exit status|
||=== Build failed: 6 error(s), 1 warning(s) (0 minute(s), 0 second(s)) ===|
三步驟
(1) include .h檔案
(2) link lib
(3) 執行 bin .dll
.obj黨裡面都是點
名詞解釋:
Normal :法向量
v
vn vertex normal
f: facet t:很小的小
f 1802//1690
1690:法向量
OBJ > Maya出生的格式
Maya小歷史
縮放大小:glScale
作業
File > export
今天的程式:
沒有留言:
張貼留言