2015年5月14日 星期四

02160314_黃詩凱_Week12

(1)作業回顧
(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();
}

沒有留言:

張貼留言