fonction glLightModelfv

La fonction glLightModelfv définit les paramètres du modèle d’éclairage.

Syntaxe

void WINAPI glLightModelfv(
         GLenum  pname,
   const GLfloat *params
);

Paramètres

pname

Paramètre de modèle d’éclairage. Les valeurs suivantes sont acceptées.

Valeur Signification
GL_LIGHT_MODEL_AMBIENT
Le paramètre params contient quatre valeurs à virgule flottante qui spécifient l’intensité RVBA ambiante de l’ensemble de la scène. Les valeurs entières sont mappées de manière linéaire de telle sorte que la valeur représentable la plus positive est mappée à 1.0 et la valeur représentable la plus négative est mappée à -1.0. Les valeurs à virgule flottante sont mappées directement. Ni les valeurs entières ni à virgule flottante ne sont bloquées. L’intensité de la scène ambiante par défaut est (0.2, 0.2, 0.2, 1.0).
GL_LIGHT_MODEL_LOCAL_VIEWER
Le paramètre params est une valeur à virgule flottante unique qui spécifie la façon dont les angles de réflexion spéculaires sont calculés. Si param est égal à 0 (ou 0,0), les angles de réflexion spéculaire prennent la direction de vue pour être parallèle à et dans la direction de l’axe -z , quel que soit l’emplacement du sommet dans les coordonnées oculaires. Sinon, les réflexions spéculaires sont calculées à partir de l’origine du système de coordonnées oculaires. La valeur par défaut est 0.
GL_LIGHT_MODEL_TWO_SIDE
Le paramètre params est une valeur à virgule flottante unique qui spécifie si les calculs d’éclairage à un ou à deux côtés sont effectués pour les polygones. Elle n’a aucun effet sur les calculs d’éclairage pour les points, les lignes ou les bitmaps. Si la valeur param est 0 (ou 0,0), l’éclairage unilatéraux est spécifié et seuls les paramètres de matériau avant sont utilisés dans l’équation d’éclairage. Dans le cas contraire, l’éclairage à deux côtés est spécifié.
Dans ce cas, les sommets des polygones orientés vers l’arrière sont éclairés à l’aide des paramètres de matériau arrière et leurs normales sont inversées avant l’évaluation de l’équation d’éclairage. Les sommets des polygones avant sont toujours éclairés à l’aide des paramètres de matériau avant, sans modification de leurs normales. La valeur par défaut est 0.

params

Pointeur vers la ou les valeurs auxquelles les paramètres seront définis.

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
pname n’était pas une valeur acceptée.
GL_INVALID_OPERATION
La fonction a été appelée entre un appel à glBegin et l’appel à glEnd correspondant.

Notes

La fonction glLightModelfv définit le paramètre de modèle d’éclairage. Le paramètre pname nomme un paramètre et param donne la nouvelle valeur.la ou les valeurs des paramètres de source de lumière individuels.

En mode RVBA, la couleur lumineuse d’un sommet est la somme de l’intensité d’émission matérielle, du produit de la réflectance ambiante du matériau et de l’intensité ambiante du modèle d’éclairage pleine scène, ainsi que la contribution de chaque source de lumière activée. Chaque source de lumière contribue à la somme de trois termes : ambiant, diffus et spéculaire.

  • La contribution de la source de lumière ambiante est le produit de la réflectance ambiante du matériau et de l’intensité ambiante de la lumière.
  • La contribution de la source de lumière diffuse est le produit de la réflectance diffuse matérielle, de l’intensité diffuse de la lumière et du produit point de la normale du vertex avec le vecteur normalisé du vertex vers la source de lumière.
  • L’apport de la source de lumière spéculaire est le produit de la réflectance spéculaire matérielle, de l’intensité spéculaire de la lumière et du produit de points des vecteurs de vertex à œil et de vertex à lumière normalisés, élevés à la puissance de la brillance du matériau.

Les trois sources de lumière contributions sont atténuées de manière égale en fonction de la distance entre le sommet et la source de lumière et de la direction de la source de lumière, de l’exposant étendu et de l’angle de coupure de propagation. Tous les produits point sont remplacés par zéro s’ils sont évalués à une valeur négative.

Le composant alpha de la couleur lumineuse obtenue est défini sur la valeur alpha de la réflectance diffuse du matériau.

En mode d’index de couleur, la valeur de l’index éclairé d’un sommet est comprise entre les valeurs ambiantes et les valeurs spéculaires passées à glMaterial à l’aide de GL_COLOR_INDEXES. Les coefficients diffus et spéculaires, calculés avec une pondération (.30, .59, .11) des couleurs de la lumière, la brillance du matériau et les mêmes équations de réflexion et d’atténuation que dans le cas RVBA, déterminent la quantité au-dessus de l’index ambiant.

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

glGet avec argument GL_LIGHT_MODEL_LOCAL_VIEWER

glGet avec argument GL_LIGHT_MODEL_TWO_SIDE

glIsEnabled avec argument GL_LIGHTING

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

glEnd

glLight

glMaterial