2015年5月13日 星期三

week12_02160243_李靖嫺

1. 3D模型

#include "glm.h" //用glm.h和glm.c(要先copy到同目錄)
GLMmodel *pmodel=NULL; //宣告有個pointer指到model

void display()
{
    glmDraw(pmodel, GLM_SMOOTH|GLM_MATERIAL);
    glFlush();
}

int main(int argc, char**argv)
{
    pmodel=glmReadOBJ("porsche.obj"); //如果沒找到檔案會當機
    glmUnitize(pmodel);
    glmFacetNormals(pmodel);
    glmVertexNormals(pmodel,90.0);

    glutInit(&argc,argv);
    glutCreateWindow("GLUT");
    glutDisplayFunc(display);
    glutMainLoop();
}

2.打光

#include "glm.h"
GLMmodel *pmodel=NULL;

void display()
{
    GLfloat pos[]={0.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();
}

int main(int argc, char**argv)
{
    pmodel=glmReadOBJ("porsche.obj");
    glmUnitize(pmodel);
    glmFacetNormals(pmodel);
    glmVertexNormals(pmodel,90.0);

    glutInit(&argc,argv);
    glutCreateWindow("GLUT");
    glutDisplayFunc(display);
    glutMainLoop();
}


沒有留言:

張貼留言