glMaterialiv-Funktion

Die glMaterialiv-Funktion gibt Materialparameter für das Beleuchtungsmodell an.

Syntax

void WINAPI glMaterialfv(
         GLenum face,
         GLenum pname,
   const GLint  *params
);

Parameter

Gesicht

Das oder die Gesichter, die aktualisiert werden. Dies muss einer der folgenden Sein: GL _ FRONT, GL _ BACK oder GL FRONT und GL _ _ BACK.

pname

Der Materialparameter des oder der Gesichter, die aktualisiert werden. Die Parameter, die mit glMaterialivangegeben werden können, und ihre Interpretationen durch die Beleuchtungsgleichung lauten wie folgt.

Wert Bedeutung
GL _ AMBIENT
Der Parameter params enthält vier ganzzahlige Werte, die die RGBA-Umgebungsreflektoranz des Materials angeben. Ganzzahlwerte werden linear zugeordnet, damit der positivste darstellbare Wert 1,0 und der negativste darstellbare Wert -1,0 zugeordnet wird. Gleitkommawerte werden direkt zugeordnet. Weder ganzzahlige werte noch Gleitkommawerte werden an die Klammern klammern. Die Standard-Ambient-Reflektor für vordere und hintere Materialien ist (0.2, 0.2, 0.2, 1.0).
GL _ DIFFUSE
Der Parameter params enthält vier ganzzahlige Werte, die die diffuse RGBA-Reflektoranz des Materials angeben. Ganzzahlwerte werden linear zugeordnet, damit der positivste darstellbare Wert 1,0 und der negativste darstellbare Wert -1,0 zugeordnet wird. Gleitkommawerte werden direkt zugeordnet. Weder ganzzahlige werte noch Gleitkommawerte werden an die Klammern klammern. Die standardmäßige diffuse Reflektoranz für vordere und zurück gerichtete Materialien ist (0,8, 0,8, 0,8, 1,0).
GL _ SPECULAR
Der Parameter params enthält vier ganzzahlige Werte, die die rgba-Spiegelung des Materials angeben. Ganzzahlwerte werden linear zugeordnet, damit der positivste darstellbare Wert 1,0 und der negativste darstellbare Wert -1,0 zugeordnet wird. Gleitkommawerte werden direkt zugeordnet. Weder ganzzahlige werte noch Gleitkommawerte werden an die Klammern klammern. Die Standardmäßige Glanzreflektor für vordere und hintere Materialien ist (0.0, 0.0, 0.0, 1.0).
_GL-FEHLER
Der Parameter params enthält vier ganzzahlige Werte, die die RGBA-Lichtstärke des Materials angeben. Ganzzahlwerte werden linear zugeordnet, damit der positivste darstellbare Wert 1,0 und der negativste darstellbare Wert -1,0 zugeordnet wird. Gleitkommawerte werden direkt zugeordnet. Weder ganzzahlige werte noch Gleitkommawerte werden an die Klammern klammern. Die Standardausgabestärke für vordere und zurück gerichtete Materialien ist (0,0, 0,0, 0,0, 1,0).
_GL-GL-SCHLÄFRIGKEIT
Der Parameter param ist eine einzelne ganze Zahl, die den RGBA-Exponenten des Materials angibt. Ganzzahlige Werte werden direkt zugeordnet. Nur Werte im Bereich [ 0, 128 ] werden akzeptiert. Der Standardspezifikations exponent für front- und back-facing materials ist 0.
GL _ AMBIENT _ UND _ DIFFUSE
Entspricht dem zweimalen Aufrufen von glMaterial mit den gleichen Parameterwerten, einmal mit GL _ AMBIENT und einmal mit GL _ DIFFUSE.
_ _ GL-FARBINDIZES
Der Parameter params enthält drei ganzzahlige Werte, die die Farbindizes für Umgebungs-, Diffuse- und Specular-Beleuchtung angeben. Diese drei Werte und GL KERNELINESS sind die einzigen Materialwerte, die von der _ Farbindexmodus-Beleuchtungsgleichung verwendet werden. Eine Erörterung der Farbindexbeleuchtung finden Sie unter glLightModel.

params

Der Wert, auf den der Parameter _ GLINESS festgelegt wird.

Rückgabewert

Diese Funktion gibt keinen Wert zurück.

Fehlercodes

Die folgenden Fehlercodes können von der glGetError-Funktion abgerufen werden.

Name Bedeutung
GL _ INVALID _ ENUM
Entweder face oder pname war kein akzeptierter Wert.
GL _ UNGÜLTIGER _ WERT
Ein specular-Exponent außerhalb des Bereichs von [ 0, 128 ] wurde angegeben.

Bemerkungen

Die glMaterialiv-Funktion weist Materialparametern Werte zu. Es gibt zwei übereinstimmende Sätze von Materialparametern. Eine, die frontseitige Gruppe, wird verwendet, um Punkte, Linien, Bitmaps und alle Polygone (wenn die zweiseitige Beleuchtung deaktiviert ist) oder einfach frontseitige Polygone zu schattigen (wenn die zweiseitige Beleuchtung aktiviert ist). Die andere Gruppe, die nach hinten gerichtet ist, wird nur verwendet, um nach hinten gerichtete Polygone zu beschatten, wenn die zweiseitige Beleuchtung aktiviert ist. Details zu einseitigen und zweiseitigen Beleuchtungsberechnungen finden Sie unter glLightModel.

Die glMaterialiv-Funktion verwendet drei Argumente. Die erste, die Gesichtserkennung, gibt an, ob die GL FRONT-Materialien, die GL BACK-Materialien oder beide _ GL FRONT AND _ _ _ _ BACK-Materialien geändert werden. Der zweite Parameter , pname, gibt an, welcher von mehreren Parametern in einer oder beiden Sätzen geändert wird. Der dritte Parameter ( param) gibt an, welcher Wert dem angegebenen Parameter zugewiesen wird.

Materialparameter werden in der Beleuchtungsgleichung verwendet, die optional auf jeden Scheitelpunkt angewendet wird. Die Gleichung wird in glLightModel erläutert.

Die Materialparameter können jederzeit aktualisiert werden. Insbesondere kann glMaterialiv zwischen einem Aufruf von glBegin und dem entsprechenden Aufruf von glEnd aufgerufen werden. Wenn jedoch nur ein einzelner Materialparameter pro Scheitelpunkt geändert werden soll, wird glColorMaterial gegenüber glMaterialiv bevorzugt.

Die folgende Funktion ruft Informationen im Zusammenhang mit glMaterialiv ab:

glGetMaterial

Requirements (Anforderungen)

Anforderung Wert
Unterstützte Mindestversion (Client)
Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server)
Windows 2000 Server [nur Desktop-Apps]
Header
Gl.h
Bibliothek
Opengl32.lib
DLL
Opengl32.dll

Weitere Informationen

glColorMaterial

glLight

glLightModel