2023年4月19日 星期三

Week10_10160863_3D模型

 Week10

開啟https://jsyeh.org/3dcg10/

下載data、win32

將window解壓縮並將data丟到window裡

開啟Transformation.exe


下載source.zip


把glm.h和glm.c拉到week10_glm(glm.c改名為glm.cpp)


程式碼

#include <stdio.h>
#include "glm.h"
GLMmodel * pmodel = NULL;
void display()
{
    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);
    ///glutSolidTeapot(0.3);
    glutSwapBuffers();
}
int main(int argc, char**argv)
{
    glutInit( &argc, argv );
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
    glutCreateWindow("week10");

    glutDisplayFunc(display);
    glutMainLoop();
}

開啟新專案

命名week10_glm_gundam

Opencv3咒語 setting-compiler

Search Directories-Compiler:C:\OpenCV2.1\include

Search Directories-Linker:C:\OpenCV2.1\lib

Linker Settings:cv210、cxcore210、highgui210








#include <stdio.h>
#include "glm.h" ///下載 source.zip有glm.h放在week10_glm_gundam目錄裡
///glm.c改檔名成glm.cpp放在week10_glm_gundam目錄裡
///把glm.cpp加到專案裡
///把模型(ex. Al.obj A.mtl)複製到工作目錄
///再把Gundam.obg Gundam.mtl Diffuse.jpg放到工作目錄
GLMmodel * pmodel = NULL;
void display()
{
    glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);
    if(pmodel==NULL){
        pmodel = glmReadOBJ("Gundam.obj");
        glmUnitize(pmodel);
        glmFacetNormals(pmodel);
        glmVertexNormals(pmodel ,90);
    }
    glmDraw(pmodel , GLM_MATERIAL);
    ///glutSolidTeapot(0.3);
    glutSwapBuffers();
}
int main(int argc, char**argv)
{
    glutInit( &argc, argv );
    glutInitDisplayMode(GLUT_DOUBLE | GLUT_DEPTH);
    glutCreateWindow("week10");

    glutDisplayFunc(display);
    glutMainLoop();
}





沒有留言:

張貼留言