2018年4月9日 星期一

05160461_廖柏宇 第一次上課筆記在blog Week07 (匯入3D模型、OBj格式:v.vt.vnf)

Part1
檔案下載:http://www.cmlab.csie.ntu.edu.tw/~jsyeh/3dcg10/
下載:sourcedatawin32glut32.dll3DExplorer_v181.rar還有freeglut-MinGW-3.0.0-1.mp.zip
(不行下載請案右鍵另存新黨,後兩個是位於moodle上的)
3DExplorer是輕巧開3D模型用的程式,但公司已經倒了因此不建議安裝在私有電腦上!!!!

1.一樣用codeblocks建一個GLUT專案

2.跟前幾周一樣複製freeglut-MinGW-3.0.0-1.mp.zip裡的,libfreeglut.a並改成名稱libglut32.a
(等等第六步要放的data是放到這個freeglut/bin裡)

3.然後匯入到剛剛建的專案

4.把剛剛下載的source壓縮檔裡三個檔案(glm.c、glm.h、transformation.c)放到剛剛建的專案的資料夾裡,並請把.c附檔名都改成.cpp
_



5.把改好的.cpp都匯入到專案裡(右鍵Add files)




6.修改compiler(因為這個是1997年做的,而1998年改過compiler由於安全性問題)
setting→compiler...→第一個勾勾取消


6.把剛剛下載的data解壓縮完放到剛剛freeglut的資料夾裡也就是第二步的那個資料夾
(沒有放會顯示執行遺失某個data)
Part2
程式碼解說以transformation.cpp為例






簡略解說完畢~~~
然後開始打程式碼在main.cpp裡


程式碼:
#include "glm.h"
GLMmodel * pmodel =NULL;

void display()
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

    if (!pmodel) {
pmodel = glmReadOBJ("data/porsche.obj");
if (!pmodel) exit(0);
glmUnitize(pmodel);
glmFacetNormals(pmodel);
glmVertexNormals(pmodel, 90.0);
    }

    glmDraw(pmodel, GLM_SMOOTH | GLM_MATERIAL);



    glutSwapBuffers();
}

int main(int argc, char**argv)
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
    glutCreateWindow("week07");

    glutDisplayFunc(display);
    glutMainLoop();
}



PS:transformation.cpp的程式碼要刪光要清空否則會執行錯誤

-----------------------------------------老師上課示範操作影片---------------------------------------------------









沒有留言:

張貼留言