glMaterialiv 函式
glMaterialiv函式會指定光源模型的材質參數。
語法
void WINAPI glMaterialfv(
GLenum face,
GLenum pname,
const GLint *params
);
參數
-
臉
-
正在更新的臉部或臉部。 必須是下列其中一項:GL_FRONT、GL_BACK或GL_FRONT和GL_BACK。
-
pname
-
正在更新臉部或臉部的材質參數。 可以使用 glMaterialiv指定的參數,以及光源方程式的解譯,如下所示。
值 意義 - GL_AMBIENT
params 參數包含四個整數值,指定材質的環境 RGBA 反映。 整數值會以線性方式對應,讓最正表示的值對應至 1.0,而最負數表示的值會對應至 -1.0。 浮點值會直接對應。 整數和浮點值都不會受到限制。 正面和反向材質的預設環境反映是 (0.2、0.2、0.2、1.0) 。 - GL_DIFFUSE
params 參數包含四個整數值,指定材質的擴散 RGBA 反射。 整數值會以線性方式對應,讓最正表示的值對應至 1.0,而最負數表示的值會對應至 -1.0。 浮點值會直接對應。 整數和浮點值都不會受到限制。 正面和反向材質的預設擴散反射是 (0.8、0.8、0.8、1.0) 。 - GL_SPECULAR
params 參數包含四個整數值,指定材質的反射反射。 整數值會以線性方式對應,讓最正表示的值對應至 1.0,而最負數表示的值會對應至 -1.0。 浮點值會直接對應。 整數和浮點值都不會受到限制。 正面和反向材質的預設反射是 (0.0、0.0、0.0、1.0) 。 - GL_EMISSION
params 參數包含四個整數值,指定材質的 RGBA 發出光線強度。 整數值會以線性方式對應,讓最正表示的值對應至 1.0,而最負數表示的值會對應至 -1.0。 浮點值會直接對應。 整數和浮點值都不會受到限制。 正面和反向材質的預設發射濃度是 (0.0、0.0、0.0、1.0) 。 - GL_SHININESS
param參數是單一整數,指定材質的 RGBA 反射指數。 整數值會直接對應。 只接受範圍 [0, 128] 中的值。 正面和反向材質的預設反射指數為 0。 - GL_AMBIENT_AND_DIFFUSE
相當於使用相同的參數值呼叫 glMaterial 兩次,一次具有GL_AMBIENT,一次搭配 GL_DIFFUSE。 - GL_COLOR_INDEXES
params 參數包含三個整數值,指定環境、擴散和反射光源的色彩索引。 這三個值和GL_SHININESS是色彩索引模式光源方程式唯一使用的材質值。 如需色彩索引光源的討論,請參閱 glLightModel 。 -
params
-
將設定參數GL_SHININESS的值。
傳回值
此函式不會傳回值。
錯誤碼
glGetError函式可以擷取下列錯誤碼。
名稱 | 意義 |
---|---|
|
臉部或pname不是接受的值。 |
|
指定了超出 [0, 128] 範圍的反射指數。 |
備註
glMaterialiv函式會將值指派給材料參數。 有兩組相符的材質參數。 其中一個 是前端 集合,用於在雙面光源停用) 時 (陰影點、線條、點陣圖和所有多邊形,或在啟用雙面光源時只 (正面多邊形) 。 另一組 回溯,只會在啟用雙面光源時,才會使用反向多邊形來著色。 如需有關單面和雙面光源計算的詳細資料,請參閱 glLightModel 。
glMaterialiv函式會採用三個引數。 第一個 臉部會指定GL_FRONT材質、GL_BACK材質,還是會修改GL_FRONT_AND_BACK材質。 第二個 pname會指定一或兩個集合中的數個參數之哪一個將會修改。 第三 個 param會指定將指派給指定參數的值。
材質參數會用於選擇性地套用至每個頂點的光源方程式。 此方程式會在 glLightModel中討論。
材質參數可以隨時更新。 特別是, glMaterialiv 可以在 glBegin 呼叫與 glEnd的對應呼叫之間呼叫。 不過,如果每個頂點只有單一材質參數要變更, glColorMaterial 會優先于 glMaterialiv。
下列函式會擷取 與 glMaterialiv相關的資訊:
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 |
Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 |
Windows 2000 Server [僅限傳統型應用程式] |
標頭 |
|
程式庫 |
|
DLL |
|