2012年6月17日 星期日

作業5 3D遊戲程式 Happy bird

(一)主題介紹
       我們這組是製作一個類似於手機程式Angry Bird的3D,比較大的差異是我們製作的是3D版本,在外形上的差異鳥也不再憤怒,變成笑臉了。
(二)設計概念
       程式的設計方面幾乎用到了這學期所有學到的技巧如lighting、Texture mapping、Object loading、Transformation,操作畫面如下:
起始畫面:
點選進入之後選擇背景:
遊戲背景有3種,可用方向鍵變更選項
進入遊戲畫面後
滑鼠按住鳥往後拉,移動滑鼠可以進行瞄準,放開即射出:



最後遊戲結束畫面:
(程式以後可能會再進行修改,如有修改會再補上)

(三)心得
      這次作業的project應用到很多這學期學到的技術,老師有提供分組讓我們可以互相合作,負責不同的部分,才可以做出有這種規模的程式,感覺還蠻有趣的,也謝謝同組組員們的幫忙。

2012年6月11日 星期一

作業4 元智3D場景漫遊

(一)主題介紹 元智3D場景漫遊
                      
                   藉由程式碼設定光源:
                    散射光 :float light_diffuse[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 };
                    讓場景產生明暗度看起來更加真實
(二)成果展示:


藉由3ds max做出的模型轉成obj檔後,使用以下函式將模組載入程式碼

     GLMmodel *glm_model[16];
     glm_model[0]= glmReadOBJ( "1.obj" );
     glmUnitize( glm_model[0] );
     glmScale( glm_model[0], 10 );
     glmFacetNormals( glm_model[0] );
     glmVertexNormals( glm_model[0], 90 );
     id[0] = glmList( glm_model[0], GLM_MATERIAL | GLM_SMOOTH );
     glmDelete( glm_model[0] );

(三)心得 
               3ds max由於是第一次使用,用的不太順手,在時間跟技巧的問題下沒辦法畫得非常精細,而且載入後從程式輸出的結果部分有些角落的明暗度有點怪怪的,不知道是哪邊設定上出了問題。