Freigeben über


glMaterialfv-Funktion

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

Syntax

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

Parameter

Gesicht

Das Gesicht oder die Gesichter, die aktualisiert werden. Muss eine der folgenden Sein: GL_FRONT, GL_BACK oder GL_FRONT und GL_BACK.

pname

Der Materialparameter der Zungesicht oder Gesichter, die aktualisiert werden. Die Parameter, die mithilfe von glMaterialfv angegeben werden können, und ihre Interpretationen durch die Beleuchtungsgleichung sind wie folgt.

Wert Bedeutung
GL_AMBIENT
Der Parameter params enthält vier Gleitkommawerte, die die RGBA-Umgebungsreflektivität des Materials angeben. Ganzzahlwerte werden linear so zugeordnet, dass der positivste darstellbare Wert 1,0 und der negativste darstellbare Wert -1,0 zugeordnet wird. Gleitkommawerte werden direkt zugeordnet. Es werden weder ganze Zahlen noch Gleitkommawerte eingespannt. Die Standardmäßige Umgebungsreflektivität für nach vorne und hinten gerichtete Materialien ist (0.2, 0.2, 0.2, 1.0).
GL_DIFFUSE
Der Parameter params enthält vier Gleitkommawerte, die die diffuse RGBA-Reflektion des Materials angeben. Ganzzahlwerte werden linear so zugeordnet, dass der positivste darstellbare Wert 1,0 und der negativste darstellbare Wert -1,0 zugeordnet wird. Gleitkommawerte werden direkt zugeordnet. Es werden weder ganze Zahlen noch Gleitkommawerte eingespannt. Die standardmäßige diffuse Reflektion für nach vorne und hinten gerichtete Materialien ist (0.8, 0.8, 0.8, 1.0).
GL_SPECULAR
Der parameter params enthält vier Gleitkommawerte, die die spiegelbildige RGBA-Reflektion des Materials angeben. Ganzzahlwerte werden linear so zugeordnet, dass der positivste darstellbare Wert 1,0 und der negativste darstellbare Wert -1,0 zugeordnet wird. Gleitkommawerte werden direkt zugeordnet. Es werden weder ganze Zahlen noch Gleitkommawerte eingespannt. Die Standardmäßige Spiegelung für nach vorne und hinten gerichtete Materialien ist (0.0, 0.0, 0.0, 1.0).
GL_EMISSION
Der Parameter params enthält vier Gleitkommawerte, die die von RGBA emittierte Lichtintensität des Materials angeben. Ganzzahlwerte werden linear so zugeordnet, dass der positivste darstellbare Wert 1,0 und der negativste darstellbare Wert -1,0 zugeordnet wird. Gleitkommawerte werden direkt zugeordnet. Es werden weder ganze Zahlen noch Gleitkommawerte eingespannt. Die Standardemissionsintensität für nach vorne und hinten gerichtete Materialien ist (0,0, 0,0, 0,0, 1,0).
GL_SHININESS
Der Parameter param ist ein einzelner ganzzahliger Wert, der den RGBA-Spiegelexponenten des Materials angibt. Ganzzahlige Werte werden direkt zugeordnet. Es werden nur Werte im Bereich [0, 128] akzeptiert. Der Standard-Spiegelexponent für nach vorne und hinten gerichtete Materialien ist 0.
GL_AMBIENT_AND_DIFFUSE
Entspricht dem zweimalen Aufruf von glMaterial mit denselben Parameterwerten, einmal mit GL_AMBIENT und einmal mit GL_DIFFUSE.
GL_COLOR_INDEXES
Der Parameter params enthält drei Gleitkommawerte, die die Farbindizes für umgebungsbezogene, diffuse und glanzförmige Beleuchtung angeben. Diese drei Werte und GL_SHININESS sind die einzigen Materialwerte, die von der Farbindexmodus-Beleuchtungsgleichung verwendet werden. Eine Erläuterung der Farbindexbeleuchtung finden Sie unter glLightModel .

params

Der Wert, auf den parameter GL_SHININESS 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_INVALID_VALUE
Es wurde ein spiegelförmiger Exponent außerhalb des Bereichs von [0, 128] angegeben.

Bemerkungen

Die glMaterialfv-Funktion weist Materialparametern Werte zu. Es gibt zwei übereinstimmend Sätze von Materialparametern. Eine , die nach vorne gerichtete Gruppe, dient zum Schattieren von Punkten, Linien, Bitmaps und allen Polygonen (wenn die zweiseitige Beleuchtung deaktiviert ist) oder nur polygonseitig nach vorne gerichteten Polygonen (wenn die beidseitige Beleuchtung aktiviert ist). Die andere Gruppe, die nach hinten gerichtet ist, wird nur verwendet, um nach hinten gerichtete Polygone zu schattieren, wenn die zweiseitige Beleuchtung aktiviert ist. Ausführliche Informationen zu einseitigen und beidseitigen Beleuchtungsberechnungen finden Sie unter glLightModel .

Die glMaterialfv-Funktion akzeptiert drei Argumente. Die erste , Face, gibt an, ob die GL_FRONT Materialien, die GL_BACK Materialien oder beide GL_FRONT_AND_BACK Materialien geändert werden. Der zweite, pname, gibt an, welcher von mehreren Parametern in einem oder beiden Sätzen geändert wird. Der dritte Parameter gibt an, welcher Wert dem angegebenen Parameter zugewiesen wird.

Materialparameter werden in der Beleuchtungsgleichung verwendet, die optional auf jeden Scheitelpunkt angewendet wird. Die Formel 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

Siehe auch

glColorMaterial

glLight

glLightModel