2012年6月13日 星期三

HW4

一、主題介紹︰元智校園擬真3D空間場景


二、過程與成果展示

內部


由外往內看


 由外往內看2



三、心得與討論

這次為上一次的成果加上打光、貼背景材質和放模型。
打光的準備動作為

  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] = { 0.0, 1.0, -1.0, 1.0 };  // 定義燈光的反射值
 
  glLightfv(GL_LIGHT0, GL_DIFFUSE, light_diffuse);  //指定0號光源的反射係數
  glLightfv(GL_LIGHT0, GL_POSITION, light_position);  //指定0號光源的位置
 
  glEnable( GL_LIGHTING );  //啟動光源
  glEnable( GL_LIGHT0 );  //啟動0號光源


而材質和模型的內容比較多,就先不貼了。
不過主要的動作大致上為,載入模型(材質),貼模型(材質)。

這次的練習對我也是全新的概念。
雖然都是載入→使用的動作,但這次還需要另外引進更多的函式。
例如#include "glm.h"、#include <GL\glaux.h>以及bool Load_Texture(unsigned int & aTexture, char * fileName)
以及在dev c的專案選項中,需要設定參數
把連結器用的參數設定為-lglut32 -lglu32 -lopengl32 -lwinmm -lgdi32 -lglaux

如此才可以成功的編譯,當初在自己撰寫時,雖然參考了範例。
但怎樣都編譯不出來,直到我去檢查這些內容時才注意到。

 這次其實想利用Rotate的方式將模型換角度,但在實做時一直失敗就放棄了。
 而且模型其實有材質可以貼,但在嘗試貼材質時,也因為缺乏參考最後也沒有成功。

 雖然很多想加入的設定一直沒加進去,但這次都還不夠熟練
 只好重複找更多文件去參考學習一下,讓下次做得更好。

沒有留言:

張貼留言