2012年6月18日 星期一

作業5



(一)主題介紹 : 鬧鬼


走在建築物中 , 遇到了神奇寶貝

(二)心得

這次的作業我是利用上次的來改寫

讓建築物消失又出現,出現又消失

最後神奇寶貝還會亂飛亂跑

這次的期末project只能做一個禮拜

時間有點不太充裕  可惜了

(三)過程與成果展示


影片:
     














2012年6月10日 星期日

作業4

(一)主題介紹 : 進化的元智

       元智燈光交替 , 樹木豎立在一館後方


(二)過程與成果展示


   (1)  立方體 : glvertex3f
  
  (2)   鍵盤控制 : 
         
          eg. 方向上 :


            (位置)    p1.xpos -= (float)sin(p1.heading*piover180)*0.1 ;
                           p1.zpos -= (float)cos(p1.heading*piover180)*0.1 ;  
--------------------------------------------------------------------------------------------------------------
                       (燈光)     theta -= .05;
                          prepare_lighting();
                         glutPostRedisplay();




  prepare_lighting()  


=> 燈源 
      float light_diffuse[4] = {1.0, 1.0, 1.0, 1.0};
      float mat_diffuse[4] = {1.0, 1.0, 1.0, 1.0};
     float light_position[4] = { sinf(theta) * cosf(phi), cosf(theta), -sinf(theta) * sinf(phi), 0 };


    再利用 : glMaterialfv 函式


  (3) 貼圖 : (另外引用 libray 進行圖形載入)


   =>void GBmp::load( const char *spath ) 

 (4)影片:


    
(三)心得


        這次作業我是銜接上一次的作業繼續往下做


       之前對載入圖片不熟


       這次弄完了解不少  以後不用再用醜醜的圖了(自己畫的)


      主要是陰影使用還是不熟習


       
    

2012年5月17日 星期四

作業三

(一)主題介紹 : 元智夜景


     各棟大樓充滿著不同的燈光
    

      照亮元智星空

       

(二)過程與成果展示
   
 (1) 立方體 : 利用glVertex3f( x . y . z) 來完成
                          
 (2)鍵盤控制 :         
    //////////上///////////////

      p1.xpos -= (float)sin(p1.heading*piover180)*0.1 ;
           p1.zpos -= (float)cos(p1.heading*piover180)*0.1 ;  


   //////////右////////////////
          p1.heading -= 2.0f;
          p1.yrot = p1.heading;
   
(3)影片






(三) 心得


上次作業我是利用滑鼠來旋轉,而這次作業是利用鍵盤來控制


有些不太一樣,但技巧上其實是差不多的


有些場景如果用Load的技巧,可能畫更好 , 但是不太熟悉


(簡易的3D程式終於完成了 離遊戲完成度越來越近)









2012年3月28日 星期三

作業二

(一)主題介紹 : 面面俱到


       YZU一館到底長的怎麼樣呢?讓我來告訴你
  
       看下去就知道囉! 


(二)過程與成果展示


    (1) 立方體 : 利用glVertex3f( x . y . z) 來完成


                          因為具有六個面,所以我將它分成六個部分來完成


    (2)滑鼠控制 : 
        
        函數
        glutMouseFunc(Mouse);             //滑鼠按下去和放開時的資訊 
        glutMotionFunc(MotionMouse); //滑鼠按下時的資訊


    (3)旋轉 : 


        glRotatef(角度, 1.0, 0.0, 0.0);  //以x軸當旋轉軸 
        glRotatef(角度, 0.0, 1.0, 0.0)  ;//以y軸當旋轉軸 




  (4) 參考圖片 :  


(三)心得 : 

        其實這次主要是以滑鼠控制旋轉為主


        有些人可能是以鍵盤的上下左右來操縱


         經過這幾個禮拜下來


        好像快可以做出一個陽春小遊戲


       不過看了上述的參考圖片,還是有些落差


       有些遺憾 !?


                




影片 : 可利用滑鼠觀看一館各個角度


2012年3月13日 星期二

(一)主題介紹 : 蔚藍一館

那些年我們所熟悉的一館~
在太陽的折射中,散發出無限的光芒
且照耀著那紅磚路

在這四年的心血歷程中
造就出許多不斐的人才


(二)過程與成就展示






使用到的函式 :  glColor3f(x,y,z);   //配色
                              glVertex2f(x,y);   //描點

利用上述兩個function,描繪出多個方型並組成該形狀
還可加上許多不規則形狀組合您所需要的物體
方法簡單實用

(三)心得

畢竟是我的第一次
希望以最簡單的方式造出最不平凡的樣式
原本想以較立體的方式呈現
但成效不佳
所以最後以平面的方式展現出來