二、過程與成果展示
內部
由外往內看
由外往內看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的方式將模型換角度,但在實做時一直失敗就放棄了。
而且模型其實有材質可以貼,但在嘗試貼材質時,也因為缺乏參考最後也沒有成功。
雖然很多想加入的設定一直沒加進去,但這次都還不夠熟練
只好重複找更多文件去參考學習一下,讓下次做得更好。
沒有留言:
張貼留言