2015年5月14日 星期四

week12_張育睿_3D Model

今天做的是3D Model
1.下載和解壓縮老師給的 windows , source 檔案
   開啟 source 的 transformation 打開執行
   今天會用到的除了 transformation 外, 還有 glm.c 和 glm.h


2.再來的步驟和之前一樣, 下載freeglut 並開啟 codeblock 的專案


3.把 source 的 transformation 這三檔案拉到剛剛專案的資料夾中
                      glm.c
                      glm.h


4.用筆記本打 transformation 檔案


5.這是 transformation 的內容


6.在 transformation 的資料夾中找到並複製這幾行程式碼到 codeblock 裡面




7.在專案資料夾按右鍵選擇 add file


8.記得要把隱藏的檔名先顯示出來


9.把 glm.c 改成 glm.cpp



10.執行的時候會順利的出現一個小黑視窗


11.但是!! 仔細看第一行, 它說無法開啟 data/porsche.obj


12.所以我們必須把 windows -> data 的 porsche.tml 拉進 freeglut -> bin 裡面
                                                           porsche.obj
    但是這樣還沒結束, 記得要再回到 codeblocks 把 data/porsche.obj 改成 porsche.obj 才能讓小黑       框框的第一行消失消失



13.接著再 main () 裡面打上之前上課固定會打個那幾行程式
      glutInit(&argc, argv);
      glutCreateWindow("3D Model");
      glutDisplayFunc(display);
      以及
      glutMainLoop();
    並新增一個 display 函式, 把 glmDraw(pmodel, GLM_SMOOTH | GLM_MATERIAL); 加入
                                               glFlush();


14.接著繼續在 display 函式中加入
      GLfloat pos[] = { 1.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();
    這兩行程式上面


沒有留言:

張貼留言