glLightModelf 函式
glLightModelf 函式會設定光源模型參數。
語法
void WINAPI glLightModelf(
GLenum pname,
GLfloat *param
);
參數
-
pname
-
單一值光源模型參數。 接受下列值。
值 意義 - GL_LIGHT_MODEL_LOCAL_VIEWER
param參數是單一浮點值,指定如何計算反射角度。 如果 param 為 0 (或 0.0) ,則反射角度會將檢視方向與 -z 軸的方向平行,而不論眼睛座標中頂點的位置為何。 否則,反射會從眼睛座標系統的原點計算。 預設值是 0。 - GL_LIGHT_MODEL_TWO_SIDE
param參數是單一浮點值,指定多邊形是否要進行單面或雙面光源計算。 它不會影響點、線條或點陣圖的光源計算。 如果 param 為 0 (或 0.0) ,則會指定單面光源,而且只會在光源方程式中使用前端材質參數。 否則,會指定雙面光源。
在此情況下,反向多邊形的頂點會使用背面材質參數進行光線,並在評估光源方程式之前,將其常態反轉。 前端多邊形的頂點一律會使用正面材質參數來亮,而且不會變更其正常值。 預設值是 0。 -
param
-
要設定 參數 的值。
傳回值
此函式不會傳回值。
錯誤碼
glGetError函式可以擷取下列錯誤碼。
名稱 | 意義 |
---|---|
|
pname 不是接受的值。 |
|
在 對 glBegin 的呼叫與 glEnd的對應呼叫之間呼叫函式。 |
備註
glLightModelf 函式會設定光源模型參數。 pname參數會具名引數,而param會提供新的值。個別光源參數的值或值。
在 RGBA 模式中,頂點的淺色是材質發射濃度的總和、材質環境反射的乘積和光源模型的完整場景環境濃度,以及每個啟用光源的比重。 每個光源都會提供三個詞彙的總和:環境、擴散和反射。
- 環境光源貢獻是材料環境反射和光線的環境濃度乘積。
- 擴散光源貢獻是材質擴散反射的乘積、光線的擴散濃度,以及頂點常態的點乘積,以及頂點向量從頂點到光源。
- 反射光源貢獻是材質反射的乘積、光線的反射強度,以及標準化頂點對眼睛和頂點對光線向量的點乘積,會提高到材質的光亮能力。
這三個光源貢獻都會根據頂點到光源的距離,以及光源方向、散佈指數和切割角度,平均衰減。 如果所有點產品評估為負值,則會將所有點產品取代為零。
產生的淺色 Alpha 元件會設定為材質擴散反射的 Alpha 值。
在色彩索引模式中,頂點的淺色索引值範圍從環境到使用 GL_COLOR_INDEXES傳遞至 glMaterial 的反射 值。 擴散和反射係數,以 (.30、.59、.11) 光線色彩加權、材質的亮度,以及與 RGBA 案例相同的反射和衰減方程式,判斷產生的索引高於環境的程度。
下列函式會擷取 與 glLightModelf 函式相關的資訊:
glGet 搭配引數GL_LIGHT_MODEL_LOCAL_VIEWER
glGet 與引數GL_LIGHT_MODEL_TWO_SIDE
glIsEnabled 搭配引數GL_LIGHTING
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 |
Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 |
Windows 2000 Server [僅限傳統型應用程式] |
標頭 |
|
程式庫 |
|
DLL |
|