glMaterialfv 函式
glMaterialfv函式會指定光源模型的材質參數。
語法
void WINAPI glMaterialfv(
GLenum face,
GLenum pname,
const GLfloat *params
);
參數
-
臉
-
正在更新的臉部或臉部。 必須是下列其中一項:GL_FRONT、GL_BACK或GL_FRONT和GL_BACK。
-
pname
-
正在更新之臉部或臉部的材質參數。 可以使用 glMaterialfv指定的參數,以及光源方程式的解譯,如下所示。
值 意義 - 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 參數包含四個浮點值,指定材質的反射 RGBA 反射。 整數值會以線性方式對應,使最正面的可表示值對應至 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] 範圍的反射指數。 |
備註
glMaterialfv函式會將值指派給材質參數。 有兩組相符的材質參數。 其中一個 是前端 集合,用於在啟用雙面光源時 (著色點、線條、點陣圖和所有多邊形 (,或只) 啟用雙) 面光源時 (的正面多邊形。 唯有啟用雙面光源時,才會使用另一組 反向多邊形來著色反向多邊形。 如需有關一面和雙面光源計算的詳細資訊,請參閱 glLightModel 。
glMaterialfv函式採用三個引數。 第一個 臉部會指定是否要修改GL_FRONT材質、GL_BACK材質或兩個GL_FRONT_AND_BACK材質。 第二個 pname會指定要修改一或兩個集合中數個參數的哪一個。 第三 個 參數會指定將指派給指定參數的值。
材質參數用於選擇性套用至每個頂點的光源方程式。 此方程式會在 glLightModel中討論。
材質參數可以隨時更新。 特別是 ,glMaterialfv 可以在 glBegin 的呼叫與 glEnd的對應呼叫之間呼叫。 不過,如果每個頂點只有單一材質參數要變更, glColorMaterial 會優先于 glMaterialfv。
下列函式會擷 取 glMaterialfv的相關資訊:
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 |
Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 |
Windows 2000 Server [僅限桌面應用程式] |
標頭 |
|
程式庫 |
|
DLL |
|