glMaterialfv-Funktion
Die funktion glMaterialfv gibt Materialparameter für das Beleuchtungsmodell an.
Syntax
void WINAPI glMaterialfv(
GLenum face,
GLenum pname,
const GLfloat *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 glMaterialfv angegeben werden können, und ihre Interpretationen durch die Beleuchtungsgleichung lauten wie folgt.
Wert Bedeutung - GL _ AMBIENT
Der Parameter params enthält vier Gleitkommawerte, 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 Gleitkommawerte, 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 Gleitkommawerte, 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 Gleitkommawerte, 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 ein einzelner ganzzahliger Wert, der 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 Gleitkommawerte, die die Farbindizes für umgebungsbasierte, diffuse und speculare 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 |
|---|---|
|
Entweder face oder pname war kein akzeptierter Wert. |
|
Ein specular-Exponent außerhalb des Bereichs von [ 0, 128 ] wurde angegeben. |
Hinweise
Die funktion glMaterialfv 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 glMaterialfv-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 glMaterialfv 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 glMaterialfv bevorzugt.
Die folgende Funktion ruft Informationen im Zusammenhang mit glMaterialfv ab:
Anforderungen
| Anforderung | Wert |
|---|---|
| Unterstützte Mindestversion (Client) |
Windows 2000 Professional [nur Desktop-Apps] |
| Unterstützte Mindestversion (Server) |
Windows 2000 Server [nur Desktop-Apps] |
| Header |
|
| Bibliothek |
|
| DLL |
|