(2)作業需求(小遊戲)
(3)3D Model模型 glm.c
(4)maya 轉 OBJ檔
(5)介紹助教影片資源
TODO:freeglut準備
TODO:jsyeh.org/3bcg10
1.跑windows裡面的 Transformation.exe
2.TODO:6行程式碼,讀3D modle
3.將sourde壓縮黨裡面的 glm.c 和 glm.h 移動到資料夾裡面,並將 glm.c改名為glm.cpp
4.因為還沒有將3D檔案拿出來,所以跑不出保時捷
5.將windows裡面data的 porsche.mtl 和 porsche.obj 移動到 程式檔案裡面,就可以跑出保時捷
#include "glm.h"
GLMmodel* pmodel = NULL;
void display()
{
glmDraw(pmodel,GLM_SMOOTH | GLM_MATERIAL);
glFlush();
}
int main(int argc,char**argv)
{
glutInit(&argc,argv);
glutCreateWindow("GLUT");
glutDisplayFunc(display);
pmodel = glmReadOBJ("porsche.obj");
glmUnitize(pmodel);
glmFacetNormals(pmodel);
glmVertexNormals(pmodel,90.0);
glutMainLoop();
}
6.在 void display() 函式裡面加入燈光,就可以看到彩色的保時捷了
GLfloat pos[] = {0.0,0.0,-1.0,0.0};
glLightfv(GL_LIGHT0,GL_POSITION,pos);
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
glEnable(GL_DEPTH_TEST);
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
#include "glm.h"
GLMmodel* pmodel = NULL;
void display()
{
GLfloat pos[] = {0.0,0.0,-1.0,0.0};
glLightfv(GL_LIGHT0,GL_POSITION,pos);
glEnable(GL_LIGHTING);
glEnable(GL_LIGHT0);
glEnable(GL_DEPTH_TEST);
glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
glmDraw(pmodel,GLM_SMOOTH | GLM_MATERIAL);
glFlush();
}
int main(int argc,char**argv)
{
glutInit(&argc,argv);
glutCreateWindow("GLUT");
glutDisplayFunc(display);
pmodel = glmReadOBJ("porsche.obj");
glmUnitize(pmodel);
glmFacetNormals(pmodel);
glmVertexNormals(pmodel,90.0);
glutMainLoop();
}
沒有留言:
張貼留言