Auf Englisch lesen

Freigeben über


glLighti-Funktion

Die glLighti-Funktion gibt Werte des Lichtquellenparameters zurück.

Syntax

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

Parameter

light

Der Bezeichner eines Lichts. Die Anzahl der möglichen Lichter hängt von der Implementierung ab, aber es werden mindestens acht Leuchten unterstützt. Sie werden durch symbolische Namen der Form GL_LIGHTi identifiziert, wobei i ein Wert ist: 0 bis GL_MAX_LIGHTS - 1.

pname

Ein einwertige Lichtquellenparameter für Licht. 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. Es werden nur Werte im Bereich [0, 128] akzeptiert.
Die effektive Lichtintensität wird durch den Kosinus des Winkels zwischen der Richtung des Lichts und der Richtung zwischen dem Licht und dem Scheitelpunkt abgeschwächt, der auf die Kraft des Spot-Exponenten erhöht wird. Daher führen höhere Spot-Exponenten zu einer stärker fokussierten Lichtquelle, unabhängig vom Punkt-Abschneidwinkel. Der Standardspot-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 Streuwinkel einer Lichtquelle angibt. Ganzzahl- und Gleitkommawerte werden direkt zugeordnet. Es werden nur Werte im Bereich [0, 90] und dem Sonderwert 180 akzeptiert.
Wenn der Winkel zwischen der Richtung des Lichts und der Richtung vom Licht zum beleuchteten Scheitelpunkt größer als der Punkttrennwinkel ist, wird das Licht vollständig maskiert. Andernfalls wird seine Intensität durch den Spot-Exponenten und die Dämpfungsfaktoren gesteuert. Der Standard-Spot-Cutoff ist 180, was zu einer gleichmäßigen Lichtverteilung führt.
GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION, GL_QUADRATIC_ATTENUATION
Der Parameter param ist ein einzelner ganzzahliger Wert, der einen der drei Lichtdämpfungsfaktoren angibt. Ganzzahl- und Gleitkommawerte werden direkt zugeordnet. Es werden nur nicht negative Werte akzeptiert.
Wenn das Licht positional und nicht richtungsmäßig ist, wird seine Intensität durch den Kehrwert der Summe von abgeschwächt: dem konstanten Faktor, dem linearen Faktor multipliziert mit dem Abstand zwischen Licht und Scheitelpunkt, der beleuchtet wird, und dem quadratischen Faktor multipliziert mit dem Quadrat der gleichen Entfernung. Die Standardabschwächungsfaktoren sind (1,0,0), was zu keiner Dämpfung führt.

param

Gibt den Wert an, auf den der Parameter pname des Lichtquellenlichts 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_INVALID_VALUE
Ein Spot-Exponentenwert wurde außerhalb des Bereichs [0, 128] angegeben, oder spot cutoff wurde außerhalb des Bereichs [0, 90] angegeben (mit Ausnahme des Sonderwerts 180), oder es wurde ein negativer Dämpfungsfaktor angegeben.
GL_INVALID_OPERATION
Die Funktion wurde zwischen einem Aufruf von glBegin und dem entsprechenden Aufruf von glEnd aufgerufen.

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_LIGHTi, wobei 0 = i< GL_MAX_LIGHTS.

Der Parameter pname gibt einen der Lichtquellenparameter an, wiederum nach symbolischem Namen. Der Parameter param ist entweder ein einzelner Wert oder ein Zeiger auf ein Array, das die neuen Werte enthält.

Die Beleuchtungsberechnung ist mithilfe von glEnable und glDisable mit argument GL_LIGHTING aktiviert und deaktiviert. Wenn die Beleuchtung aktiviert ist, tragen aktivierte Lichtquellen zur Beleuchtungsberechnung bei. Die Lichtquelle i ist mit glEnable und glDisable mit argument GL_LIGHTi aktiviert und deaktiviert.

Es ist immer so, dass GL_LIGHTi = GL_LIGHT0 + i.

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

glGetLight

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

Weitere Informationen

glBegin

glColorMaterial

glEnd

glLightModel

glMaterial