glLightModeliv-Funktion

Die glLightModeliv-Funktion legt Parameter für das Beleuchtungsmodell fest.

Syntax

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

Parameter

pname

Ein Beleuchtungsmodellparameter. Die folgenden Werte werden akzeptiert.

Wert Bedeutung
GL _ LIGHT _ MODEL _ AMBIENT
Der parameter-Parameter enthält vier ganzzahlige Werte, die die RGBA-Intensität der gesamten Szene angeben. Ganzzahlige Werte werden linear zugeordnet, sodass 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 geklammern. Die Standardmäßige Umgebungsszenen-Intensität ist (0,2, 0,2, 0,2, 1,0).
GL _ LIGHT _ MODEL _ LOCAL _ VIEWER
Der parameter-Parameter ist ein einzelner ganzzahliger Wert, der angibt, wie Spiegelungswinkel berechnet werden. Wenn param 0 (oder 0,0) ist, nehmen Glanzreflektionswinkel die Ansichtsrichtung so an, dass sie parallel zur und in Richtung der z-Achse sind, unabhängig von der Position des Scheitelpunkts in Augenkoordinaten. Andernfalls werden Spiegelungsreflektionen vom Ursprung des Augenkoordinatensystems berechnet. Die Standardeinstellung ist 0.
GL _ LIGHT _ MODEL _ TWO _ SIDE
Der parameter-Parameter ist ein einzelner ganzzahliger Wert, der angibt, ob ein- oder zweiseitige Beleuchtungsberechnungen für Polygone durchgeführt werden. Sie hat keine Auswirkungen auf die Beleuchtungsberechnungen für Punkte, Linien oder Bitmaps. Wenn param 0 (oder 0,0) ist, wird eine einseitige Beleuchtung angegeben, und in der Beleuchtungsgleichung werden nur die Parameter des Vordermaterials verwendet. Andernfalls wird eine zweiseitige Beleuchtung angegeben.
In diesem Fall werden Scheitelpunkte von rückwärts gerichteten Polygonen mithilfe der Parameter des Hintergrundmaterials angelichtet, und ihre Normalwerte werden umgekehrt, bevor die Beleuchtungsgleichung ausgewertet wird. Scheitelpunkte von Polygonen mit Frontrichtung werden immer mithilfe der Parameter des Vordermaterials angelichtet, ohne dass sich ihre Normalitäten ändern. Die Standardeinstellung ist 0.

params

Ein Zeiger auf den Wert oder die Werte, auf die Params festgelegt werden.

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
pname war kein akzeptierter Wert.
GL _ INVALID _ OPERATION
Die Funktion wurde zwischen einem Aufruf von glBegin und dem entsprechenden Aufruf von glEndaufgerufen.

Hinweise

Die glLightModeliv-Funktion legt den Parameter des Beleuchtungsmodells fest. Der pname-Parameter benennt einen Parameter, und param gibt den neuen wert.den Wert oder die Werte einzelner Light Source-Parameter.

Im RGBA-Modus ist die helle Farbe eines Scheitelpunkts die Summe der Materialemissionsintensivität, das Produkt der materialen Umgebungsreflektion und des Beleuchtungsmodells mit vollständiger Szenen-Umgebungsdichte sowie der Beitrag jeder aktivierten Lichtquelle. Jede Lichtquelle trägt zur Summe von drei Begriffen bei: ambient, diffuse und specular.

  • Der Beitrag der Umgebungslichtquelle ist das Produkt der materialen Umgebungsreflektion und der Umgebungsdichte des Lichts.
  • Der Diffuse Light Source-Beitrag ist das Produkt der materialen diffusen Reflexion, der diffusen Intensität des Lichts und des Punktprodukts der Normalität des Scheitelpunkts mit dem normalisierten Vektor vom Scheitelpunkt zur Lichtquelle.
  • Der Glanzlichtquellen-Beitrag ist das Produkt der materialen Spiegelungsreflektion, der Glanzstärke des Lichts und des Punktprodukts der normalisierten Vertex-zu-Auge- und Vertex-zu-Licht-Vektoren, die zur Potenz der Durchlässigkeit des Materials ausgelöst werden.

Alle drei Light Source-Beiträge werden gleichmäßig auf der Grundlage der Entfernung vom Scheitelpunkt zur Lichtquelle und der Lichtquellenrichtung, der Verteilung des Exponenten und des Ausschneidewinkels abgeschwächt. Alle Punktprodukte werden durch 0 (null) ersetzt, wenn sie einen negativen Wert ergibt.

Die Alphakomponente der resultierenden lichtierten Farbe wird auf den Alphawert der materialen diffusen Reflektion festgelegt.

Im Farbindexmodus reicht der Wert des belichteten Indexes eines Scheitelpunkts von der Umgebung bis zu den Glanzwerten, die mit GL COLOR INDEXES an glMaterial übergeben _ _ werden. Diffuse und speculare Koeffizienten, berechnet mit einer Gewichtung (.30, .59, .11) der Farben des Lichts, der Helligkeit des Materials und den gleichen Reflexions- und Dämpfungsgleichungen wie im RGBA-Fall, bestimmen, wie weit oberhalb der Umgebung der resultierende Index liegt.

Die folgenden Funktionen rufen Informationen im Zusammenhang mit der glLightModeliv-Funktion ab:

glGet mit argument GL _ LIGHT MODEL LOCAL _ _ _ VIEWER

glGet mit argument GL _ LIGHT MODEL TWO _ _ _ SIDE

glIsEnabled mit argument GL _ LIGHTING

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

glBegin

glEnd

glLight

glMaterial