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
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.

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:

glGetMaterial

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