(*)前置作業
把資料用成下圖
把freeglut資料夾丟桌面 丟桌面 丟桌面
(一)先畫出模型
1.先用CodeBlocks開啟一個GLUT專案
2.上面下載的data資料夾丟freeglut>bin
3.將source裡的glm.h、glm.c、projection.c移進專案資料夾
4.將glm.c 改成 glm.cpp
如下圖
然後將CodeBlocks中的main.cpp程式碼
全數改成下列程式碼
#include <GL/glut.h>
#include "glm.h" ///for glmReadOBJ()....
GLMmodel * pmodel=NULL;///NOW
void drawmodel(void)
{
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);
}
void display(void)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
drawmodel();
glutSwapBuffers();
}
int main(int argc, char**argv)
{
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
glutInitWindowSize(500,500);
glutCreateWindow("week15");
glutDisplayFunc(display);
glutMainLoop();
}
就會出現模型的樣子!!
會缺法顏色、樣子及立體感
就是因為少了打光!!!
(二)打光
在int main主函式中
glutDisplayFunc後面加上
沒有留言:
張貼留言