glLightModelfv-Funktion
Die glLightModelfv-Funktion legt Lichtmodellparameter fest.
Syntax
void WINAPI glLightModelfv(
GLenum pname,
const GLfloat *params
);
Parameter
-
pname
-
Ein Lichtmodellparameter. Die folgenden Werte werden akzeptiert.
Wert Bedeutung - GL_LIGHT_MODEL_AMBIENT
Der Parameter params enthält vier Gleitkommawerte, die die RGBA-Umgebungsintensität der gesamten Szene angeben. Ganzzahlige Werte werden linear so zugeordnet, dass der positivste darstellbare Wert 1,0 und der negativste darstellbare Wert -1,0 zugeordnet wird. Gleitkommawerte werden direkt zugeordnet. Weder ganzzahlige noch Gleitkommawerte werden geklemmt. Die Standardmäßige Intensität der Umgebungsszene ist (0.2, 0.2, 0.2, 1.0). - GL_LIGHT_MODEL_LOCAL_VIEWER
Der params-Parameter ist ein einzelner Gleitkommawert, der angibt, wie spekuläre Reflexionswinkel berechnet werden. Wenn param 0 (oder 0,0) ist, nehmen spiegelförmige Reflexionswinkel die Ansichtsrichtung an, um parallel zu und in Richtung der -z-Achse zu sein, unabhängig von der Position des Scheitelpunkts in Augenkoordinaten. Andernfalls werden Spiegelungen aus dem Ursprung des Augenkoordinatensystems berechnet. Die Standardeinstellung ist 0. - GL_LIGHT_MODEL_TWO_SIDE
Der Parameter params ist ein einzelner Gleitkommawert, der angibt, ob einseitige oder zweiseitige Beleuchtungsberechnungen für Polygone durchgeführt werden. Es hat keine Auswirkungen auf die Beleuchtungsberechnungen für Punkte, Linien oder Bitmaps. Wenn param 0 (oder 0,0) ist, wird die einseitige Beleuchtung angegeben, und in der Beleuchtungsgleichung werden nur die frontseitigen Materialparameter verwendet. Andernfalls wird eine beidseitige Beleuchtung angegeben.
In diesem Fall werden Scheitelpunkte von nach hinten gerichteten Polygonen mithilfe der Rückmaterialparameter beleuchtet und ihre Normalwerte umgekehrt, bevor die Beleuchtungsgleichung ausgewertet wird. Scheitelpunkte von nach vorne gerichteten Polygonen werden immer mit den Frontmaterialparametern beleuchtet, ohne dass sich ihre Normalität ändert. 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 |
---|---|
|
pname war kein akzeptierter Wert. |
|
Die Funktion wurde zwischen einem Aufruf von glBegin und dem entsprechenden Aufruf von glEnd aufgerufen. |
Bemerkungen
Die glLightModelfv-Funktion legt den Beleuchtungsmodellparameter fest. Der pname-Parameter benennt einen Parameter, und param gibt den neuen wert.den Wert oder die Werte einzelner Lichtquellenparameter an.
Im RGBA-Modus ist die beleuchtete Farbe eines Scheitelpunkts die Summe der Materialemissionsintensität, das Produkt der Materialumgebungsreflektion und des Lichtmodells volle Umgebungsintensität und der Beitrag jeder aktivierten Lichtquelle. Jede Lichtquelle trägt die Summe aus drei Begriffen bei: ambient, diffuse und specular.
- Der Beitrag der Umgebungslichtquelle ist das Produkt der Material-Umgebungsreflektion und der Umgebungsintensität des Lichts.
- Der diffuse Lichtquellenbeitrag ist das Produkt der diffusen Reflexion des Materials, der diffusen Intensität des Lichts und des Punktprodukts des Scheitelpunkts normal mit dem normalisierten Vektor vom Scheitelpunkt zur Lichtquelle.
- Der spekuläre Lichtquellenbeitrag ist das Produkt der materialspektularen Reflektion, der Spiegelintensität des Lichts und des Punktprodukts der normalisierten Vertex-to-Eye- und Vertex-to-Light-Vektoren, die zur Kraft des Glanzes des Materials erhoben werden.
Alle drei Lichtquellen Beiträge werden gleichmäßig abgeschwächt, basierend auf dem Abstand vom Scheitelpunkt zur Lichtquelle und auf der Lichtquellenrichtung, dem Spreizungsexponenten und dem gespreizten Abschneidwinkel. Alle Punktprodukte werden durch null ersetzt, wenn sie einen negativen Wert aufweisen.
Die Alphakomponente der resultierenden beleuchteten Farbe wird auf den Alphawert der diffusen Reflexion des Materials festgelegt.
Im Farbindexmodus reicht der Wert des beleuchteten Index eines Scheitelpunkts vom Umgebungs- bis zu den Spiegelwerten, die mithilfe von GL_COLOR_INDEXES an glMaterial übergeben werden. Diffuse und spekuläre Koeffizienten, berechnet mit einer Gewichtung (.30, .59, .11) der Farben des Lichts, dem Glanz des Materials und den gleichen Reflexions- und Dämpfungsgleichungen wie im RGBA-Fall, bestimmen, wie stark der resultierende Index über dem Umgebungswert liegt.
Die folgenden Funktionen rufen Informationen im Zusammenhang mit der glLightModelfv-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 |
|
Bibliothek |
|
DLL |
|