2023年4月19日 星期三

ziiiiitg-Week10

Week10

認識3D模型

輸入網址https://jsyeh.org/3dcg10/下載data跟windows資料夾-解壓縮

將data資料夾複製貼進windows資料夾中 > 打開Transformation.exe








打開data資料夾裡的 obj 檔和 mtl 檔看一看 ( 用Notepad++ )





輸入網址https://jsyeh.org/3dcg10/下載source資料夾

會看到 glm.c 和 glm.h 資料夾 ( 等等會用到 )






glm.cpp / glm.h

新增一個GLUT專案,名稱更為week10_glm

貼上之前的程式碼 

#include <GL/glut.h>
#include "glm.h"
void display()
{
    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    glutSolidTeapot( 0.3 );
    glutSwapBuffers();
}
int main(int argc, char**argv)
{
    glutInit( &argc, argv );
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
    glutCreateWindow("week10");

    glutDisplayFunc(display);
    glutMainLoop();
}



把glm.c檔名改為glm.cpp 再把它放進week10目錄裡面







Add file把glm.cpp加進來






把data資料夾中的模型全部複製到freeglut的bin資料夾中



加上
GLMmodel * pmodel = NULL;

    glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    if(pmodel==NULL){
       pmodel = glmReadOBJ("Al.obj");
       glmUnitize(pmodel);
       glmFacetNormals(pmodel);
       glmVertexNormals(pmodel,90);
    }
    glmDraw(pmodel,GLM_MATERIAL);







Gundam模型

新增一個GLUT專案,名稱更為week10_glm_gundam

把week10_glm的程式碼拿來用 "Al.obj"檔改成 "Gundam.obj"檔




把glm.c檔名改為glm.cpp 再把它放進week10目錄裡面

Add file把glm.cpp加進來





安裝OpenCV程式 打上咒語之後重新打開Codeblocks




把圖上三個檔案複製進bin資料夾





到老師的github複製myTexture程式碼來用



加上

glmDraw(pmodel,GLM_MATERIAL | GLM_TEXTURE);

myTexture("Diffuse.jpg");

兩條程式碼就好了


















































沒有留言:

張貼留言