Partager via


glLightf, fonction

La fonction glLightf retourne des valeurs de paramètre de source de lumière.

Syntaxe

void WINAPI glLightf(
   GLenum  light,
   GLenum  pname,
   GLfloat param
);

Paramètres

light

Identificateur d’une lumière. Le nombre de lumières possibles dépend de l’implémentation, mais au moins huit lumières sont prises en charge. Ils sont identifiés par des noms symboliques de la forme GL_LIGHTii est une valeur : 0 à GL_MAX_LIGHTS - 1.

pname

Paramètre de source de lumière à valeur unique pour la lumière. Les noms symboliques suivants sont acceptés.

Valeur Signification
GL_SPOT_EXPONENT
Le paramètre param est une valeur à virgule flottante unique qui spécifie la distribution d’intensité de la lumière. Les valeurs à virgule flottante sont mappées directement. Seules les valeurs de la plage [0, 128] sont acceptées.
L’intensité lumineuse effective est atténuée par le cosinus de l’angle entre la direction de la lumière et la direction de la lumière vers le sommet allumé, élevé à la puissance de l’exposant spot. Ainsi, les exposants de spot plus élevés entraînent une source de lumière plus concentrée, quel que soit l’angle de coupure du spot. L’exposant spot par défaut est 0, ce qui entraîne une distribution uniforme de la lumière.
GL_SPOT_CUTOFF
Le paramètre param est une valeur à virgule flottante unique qui spécifie l’angle de propagation maximal d’une source de lumière. Les valeurs à virgule flottante sont mappées directement. Seules les valeurs de la plage [0, 90] et la valeur spéciale 180 sont acceptées.
Si l’angle entre la direction de la lumière et la direction entre la lumière et le sommet en cours d’éclairage est supérieur à l’angle de coupure, la lumière est complètement masquée. Sinon, son intensité est contrôlée par l’exposant spot et les facteurs d’atténuation. Le seuil par défaut est de 180, ce qui entraîne une distribution uniforme de la lumière.
GL_CONSTANT_ATTENUATION, GL_LINEAR_ATTENUATION GL_QUADRATIC_ATTENUATION
Le paramètre param est une valeur à virgule flottante unique qui spécifie l’un des trois facteurs d’atténuation de la lumière. Les valeurs à virgule flottante sont mappées directement. Seules les valeurs non négatives sont acceptées.
Si la lumière est positionnelle, plutôt que directionnelle, son intensité est atténuée par la réciproque de la somme de : le facteur constant, le facteur linéaire multiplié par la distance entre la lumière et le sommet allumé, et le facteur quadratique multiplié par le carré de la même distance. Les facteurs d’atténuation par défaut sont (1,0,0), ce qui n’entraîne aucune atténuation.

param

Spécifie la valeur sur laquelle le paramètre pname de la source de lumière sera défini sur.

Valeur renvoyée

Cette fonction ne retourne pas de valeur.

Codes d’erreur

Les codes d’erreur suivants peuvent être récupérés par la fonction glGetError .

Nom Signification
GL_INVALID_ENUM
light ou pname n’était pas une valeur acceptée.
GL_INVALID_VALUE
Une valeur d’exposant spot a été spécifiée en dehors de la plage [0, 128], ou un seuil spot a été spécifié en dehors de la plage [0, 90] (à l’exception de la valeur spéciale 180), ou un facteur d’atténuation négatif a été spécifié.
GL_INVALID_OPERATION
La fonction a été appelée entre un appel à glBegin et l’appel correspondant à glEnd.

Notes

La fonction glLightf définit la ou les valeurs des paramètres de source de lumière individuels. Le paramètre light nomme la lumière et est un nom symbolique de la forme GL_LIGHTi, où 0 = i< GL_MAX_LIGHTS.

Le paramètre pname spécifie l’un des paramètres de la source de lumière, à nouveau par nom symbolique. Le paramètre param est une valeur unique ou un pointeur vers un tableau qui contient les nouvelles valeurs.

Le calcul de l’éclairage est activé et désactivé à l’aide de glEnable et glDisable avec GL_LIGHTING d’arguments. Lorsque l’éclairage est activé, les sources d’éclairage activées contribuent au calcul de l’éclairage. La source de lumière i est activée et désactivée à l’aide de glEnable et glDisable avec l’argument GL_LIGHTi.

Il est toujours le cas que GL_LIGHTi = GL_LIGHT0 + i.

Les fonctions suivantes récupèrent des informations relatives à la fonction glLightf :

glGetLight

glIsEnabled avec GL_LIGHTING d’arguments

Spécifications

Condition requise Valeur
Client minimal pris en charge
Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge
Windows 2000 Server [applications de bureau uniquement]
En-tête
Gl.h
Bibliothèque
Opengl32.lib
DLL
Opengl32.dll

Voir aussi

glBegin

glColorMaterial

glEnd

glLightModel

glMaterial