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函式可以擷取下列錯誤碼。

名稱 意義
GL_INVALID_ENUM
pname 不是接受的值。
GL_INVALID_OPERATION
對 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 [僅限傳統型應用程式]
標頭
Gl.h
程式庫
Opengl32.lib
DLL
Opengl32.dll

另請參閱

glBegin

glEnd

glLight

glMaterial