共用方式為


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

名稱 意義
GL_INVALID_ENUM
臉部pname不是接受的值。
GL_INVALID_VALUE
指定了超出 [0, 128] 範圍的反射指數。

備註

glMaterialiv函式會將值指派給材料參數。 有兩組相符的材質參數。 其中一個 是前端 集合,用於在雙面光源停用) 時 (陰影點、線條、點陣圖和所有多邊形,或在啟用雙面光源時只 (正面多邊形) 。 另一組 溯,只會在啟用雙面光源時,才會使用反向多邊形來著色。 如需有關單面和雙面光源計算的詳細資料,請參閱 glLightModel

glMaterialiv函式會採用三個引數。 第一個 臉部會指定GL_FRONT材質、GL_BACK材質,還是會修改GL_FRONT_AND_BACK材質。 第二個 pname會指定一或兩個集合中的數個參數之哪一個將會修改。 第三 個 param會指定將指派給指定參數的值。

材質參數會用於選擇性地套用至每個頂點的光源方程式。 此方程式會在 glLightModel中討論。

材質參數可以隨時更新。 特別是, glMaterialiv 可以在 glBegin 呼叫與 glEnd的對應呼叫之間呼叫。 不過,如果每個頂點只有單一材質參數要變更, glColorMaterial 會優先于 glMaterialiv

下列函式會擷取 與 glMaterialiv相關的資訊:

glGetMaterial

規格需求

需求
最低支援的用戶端
Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器
Windows 2000 Server [僅限傳統型應用程式]
標頭
Gl.h
程式庫
Opengl32.lib
DLL
Opengl32.dll

另請參閱

glColorMaterial

glLight

glLightModel