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