這次作業主要是延續上一次作業而來,首先我先去下載了一棵樹的.obj檔,範例圖片這棵樹是 彩色的但是載入後卻只有灰階。載入obj檔方法如下:
要貼物件必須先include"glm.h",然後
GLMmodel *glm_model;
glm_model= glmReadOBJ( "tree.obj" );//讀該物件
glmUnitize( glm_model );
glmScale( glm_model, .2 );//控制大小
glmFacetNormals( glm_model );
glmVertexNormals( glm_model, 90 );
list_id[0] = glmList( glm_model, GLM_MATERIAL | GLM_SMOOTH );
glmDelete( glm_model );
再利用glCallList( list_id[0]);就能載入物件了了。
接下來就是實作打光,方法如下:
float light_diffuse[4] = {1.0, 1.0, 1.0, 1.0}; //散射光
float light_ambient[4] = {1.0, 1.0, 1.0, 1.0}; //環境光
float light_specular[4] = {0.5, 0.5, 0.5, 1.0}; //全反射光
float light_position[4] = { 0 , 100, 0, 1.0 }; //位置
但是打光後,所有的建築都變成了灰黑,查完資料後發現原來是沒有貼材質的原因。
這次因為時間不夠,沒有把貼材質實作出來。
b)心得
這次貼圖沒實作出來實在很可惜,希望下次十座可以完美的呈現出材質。
沒有留言:
張貼留言