2018年4月9日 星期一

week07 矮矮的筆記

來源 : http://www.cmlab.csie.ntu.edu.tw/~jsyeh/3dcg10/

1.下載 data並解壓縮(放到你想放的地方
2.下載source 並解壓縮(放到你想放的地方
3.下載 glut32.dll 


一 、用3D Exploration 看自己想看的3D模型


1.上moodle下載3D Exploration (檔案總管)
2.用 3D Exploration 開 data 的3D模型

(由於是自己的電腦所以沒有下載來看  , 3D Exploration  是一個2005年的程式 現宰已經沒有在更新了 所以可能會中毒或不相容問題)


二 、用codeblocks執行
1.打開codeblocks
2.按create a new project
3.選擇GLUT project
4.go→next
5.建立檔名為05163012_01_2glut
6.選擇儲存位置
7.next
8.選擇freeglut資料夾
9.next→finish
10.打開sources
11.點開main.c 把程式碼全刪


1.把source資料夾打開
2.把glm.c改成glm.cpp 
3.把transformation.c改成transformation.cpp
4.匯入glm.h, glm.cpp, transformation.cpp 3個檔案
5.因為是舊程式碼,需先更改code:blocks設定( 螢光筆處取消∨ )

                                         



三、自行打
1.將transformation的一些程式打到main裡面
2.將transformation的程式全刪除 因為main裡面已經有了






#include "glm.h"///(1)glm的外掛
GLMmodel * pmodel=NULL ; ///(2)指標

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

    if (!pmodel)
    {
    pmodel = glmReadOBJ("data/porsche.obj"); ///(3)這段負責3D的模型
    if (!pmodel) exit(0);
glmUnitize(pmodel);
glmFacetNormals(pmodel);
glmVertexNormals(pmodel, 90.0);
    }

    glmDraw(pmodel, GLM_SMOOTH | GLM_MATERIAL);

    glutSwapBuffers();///以前教過的 畫出來

}
(來自 transformation.cpp 程式碼)
int main(int argc, char** argv)
{
    glutInit(&argc, argv);
    glutInitDisplayMode(GLUT_RGB | GLUT_DEPTH | GLUT_DOUBLE);
    glutCreateWindow("Week07 我自己的3D模型讀進來");

    glutDisplayFunc(display);
    glutMainLoop();

    return 0;
}



(#include "glm.h" 是用雙引號 是因為在函式庫中並沒有glm.h這個東西 這是外掛所以使用雙引號)






**** 考試重點
glPushMatrix(); //備份矩陣
glTranslate f(x , y , z) ; //移動
glRotatef ( angle , x , y , z ); // 轉動
glScalef ( x , y , z ) ; // 放大縮小
glBegin ( GL_POLYGON ) ; //開始畫
       glNormal13f(nx, ny , nz) ; //法向量
        glTexCoord2f(tx , ty ) ; //貼圖座標
       glColor3f ( r , g , b ) ; // 顏色
       glVertex3f (x , y , z ) ; //頂點
glEnd() ; // 結束畫 glBegin()對應
glPopMatrix() ; //還原矩陣
**** 考試重點


----------------------------------------------------------------------------------------------------------------------------------------------------

回家練習:
將下載的obj檔和mtl檔放在freeglut 的bin 資料夾內
(檔案來源http://www.hkepc.com/forum/viewthread.php?fid=259&tid=2191367}
使用: 龍貓模型







沒有留言:

張貼留言