Friday, March 29, 2013

[OpenGL] Lighting

[Reference] The OpenGL SuperBible
OpenGL 提供許多關於顏色、材質、光、影的功能。內容很多,慢慢添加。

從開燈開始:

01: glEnable(GL_LIGHTING);   //開燈


// Bright white light – full intensity RGB values
02: GLfloat ambientLight[] = { 1.0f, 1.0f, 1.0f, 1.0f };

// Set light model to use ambient light specified by
// ambientLight[]
03: glLightModelfv(GL_LIGHT_MODEL_AMBIENT,ambientLight);


第 1 行開啟光源。

第 2 行設定環境(ambient)光源的顏色及強度。環境光是從各方向均勻照向物體的光源。 
4個參數依序為 RGBA。值域為 0~1,數值愈大則物體愈亮,預設值為(0.2, 0.2, 0.2, 1.0)(很暗)

第 3 行將環境光源的參數代入 OpenGL。

若未使用第 2, 3行則表示使用預設的環境光源參數。難怪,只開燈而未設定其他燈光參數時,物體變暗。因為這裏設定環境光源為白色,開燈後物體呈現灰色。

(再來, 設定材質, 或用 glColor )

No comments:

Post a Comment

[Qt] 執行檔需要哪些 Dll?

 1. 使用 Qt  的 windeployqt.exe 工具 (在 C:\Qt\Qt5.14.1\5.14.1\msvc2017\bin\)。   a. 把執行檔 myProgram.exe 放在某個資料夾。   b. 在檔案總管這個資料夾按 Shift 和滑鼠右鍵,開啟 Po...