glLighti-Funktion

Die glLighti-Funktion gibt Parameterwerte für die Lichtquelle zurück.

Syntax

void WINAPI glLighti(
   GLenum light,
   GLenum pname,
   GLint  param
);

Parameter

light

Der Bezeichner eines Lichts. Die Anzahl der möglichen Beleuchtungen hängt von der Implementierung ab, aber mindestens acht Beleuchtungen werden unterstützt. Sie werden durch symbolische Namen der Form GL _ LIGHT i identifiziert, wobei i ein Wert ist: 0 bis GL MAX LIGHTS _ - _ 1.

pname

Ein einwertiger Lichtquellenparameter für light. Die folgenden symbolischen Namen werden akzeptiert.

Wert Bedeutung
GL _ SPOT _ EXPONENT
Der Parameter param ist ein einzelner ganzzahliger Wert, der die Intensitätsverteilung des Lichts angibt. Ganzzahl- und Gleitkommawerte werden direkt zugeordnet. Nur Werte im Bereich [ 0, 128 ] werden akzeptiert.
Die effektive Lichtdichte wird durch den Kosinus des Winkels zwischen der Lichtrichtung und der Richtung vom Licht bis zum scheitelpunkt, der ausgelöst wird, auf die Potenz des Spot-Exponenten erhöht. Daher führen höhere Spot-Exponenten zu einer fokussierteren Lichtquelle, unabhängig vom Winkel des Spot-Cutoffs. Der Standard-Spot-Exponent ist 0, was zu einer gleichmäßigen Lichtverteilung führt.
GL _ SPOT _ CUTOFF
Der Parameter param ist ein einzelner ganzzahliger Wert, der den maximalen Verteilungswinkel einer Lichtquelle angibt. Ganzzahl- und Gleitkommawerte werden direkt zugeordnet. Nur Werte im Bereich [ 0, 90 ] und dem Sonderwert 180 werden akzeptiert.
Wenn der Winkel zwischen der Richtung des Lichts und der Richtung vom Licht bis zum scheitelpunkt, der hell wird, größer als der Winkel des Spot-Cutoffs ist, wird das Licht vollständig maskiert. Andernfalls wird seine Intensität durch den Spot-Exponenten und die Dämpfungsfaktoren gesteuert. Der Standardmäßige Spot-Cutoff ist 180, was zu einer gleichmäßigen Lichtverteilung führt.
GL _ CONSTANT _ ATTENUATION, GL _ LINEAR _ ATTENUATION, GL _ QUADRATIC _ ATTENUATION
Der param-Parameter ist ein einzelner ganzzahliger Wert, der einen der drei lichten Dämpfungsfaktoren angibt. Ganzzahl- und Gleitkommawerte werden direkt zugeordnet. Es werden nur nicht negative Werte akzeptiert.
Wenn das Licht positional und nicht direktional ist, wird seine Intensität durch den Reziprok der Summe von abgeschwägt: den konstanten Faktor, den linearen Faktor multipliziert mit dem Abstand zwischen dem Licht und dem scheitelpunkt, der ausgelöst wird, und den quadratischen Faktor multipliziert mit dem Quadrat des gleichen Abstands. Die Standardfaktoren für die Dämpfung sind (1,0,0), was zu keiner Dämpfung führt.

param

Gibt den Wert an, auf den der Parameter pname des Lichts der Lichtquelle 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
light oder pname war kein akzeptierter Wert.
GL _ UNGÜLTIGER _ WERT
Ein Spot-Exponentwert wurde außerhalb des Bereichs [ 0, 128 ] oder spot cutoff außerhalb des Bereichs [ 0, 90 ] (mit Ausnahme des Sonderwerts 180) angegeben, oder es wurde ein negativer Dämpfungsfaktor angegeben.
GL _ INVALID _ OPERATION
Die Funktion wurde zwischen einem Aufruf von glBegin und dem entsprechenden Aufruf von glEndaufgerufen.

Bemerkungen

Die glLighti-Funktion legt den Wert oder die Werte einzelner Lichtquellenparameter fest. Der Light-Parameter benennt das Licht und ist ein symbolischer Name der Form GL _ LIGHT i, wobei 0 = i < GL MAX _ LIGHTS _ ist.

Der pname-Parameter gibt einen der Light Source-Parameter an, wiederum anhand des symbolischen Namens. Der Parameter param ist entweder ein einzelner Wert oder ein Zeiger auf ein Array, das die neuen Werte enthält.

Die Beleuchtungsberechnung wird mit glEnable und glDisable mit dem Argument GL LIGHTING aktiviert und _ deaktiviert. Wenn die Beleuchtung aktiviert ist, tragen die aktivierten Datenquellen zur Beleuchtungsberechnung bei. Die Lichtquelle i ist mit glEnable und glDisable mit dem Argument GL LIGHT i aktiviert und _ deaktiviert.

Es ist immer der Fall, dass GL _ LIGHT i = GL _ LIGHT0 + i ist.

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

glGetLight

glIsEnabled mit argument GL _ LIGHTING

Requirements (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

glBegin

glColorMaterial

glEnd

glLightModel

glMaterial