2023年4月6日 星期四

toto_week08

 week08

step01-1

至https://jsyeh.org/3dcg10,下載windows.zip, data.zip and source.zip

        -windows.zip 解壓縮 下載 \windows\Transformation.exe

        -data.zip         解壓縮 下載\windows\data\有3D模型

        -source.zip     解壓縮 下載\source


了解3D模型,是如何產生的

v   對應  vertex頂點

vt  對應  貼圖座標  glTexCoord2f(tx,ty)

vn  對應  vertex normal法向量

f    對應   面facet

step01-2

把自己用maya製作的3D模型,匯出成OBJ檔,檔名為ex.F-16.obj然後放在data的目錄裡

step02-2

CodeBlocks-File_New_Project,GLUT專案,檔名為week08-1_glt_model


-把上上周的程式複製上來

#include <GL/glut.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("week08");

    glutDisplayFunc(display);

    glutMainLoop();
}


-include 後面加上glm.h,把source.zip的三個(glm.h+glm.c+transformation.c)檔放進week08-1_glm_model目錄裡
-把glm.c改成glm.cpp
-在專案中,按右鍵Add Files,把glm.cpp加入進去
#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("week08");

    glutDisplayFunc(display);

    glutMainLoop();
}

-
step02-2

step03-1
CodeBlocks-File_New_Project,GLUT專案,檔名為week08-2_glt_model_texture




沒有留言:

張貼留言