Partager via


fonction glLightModeliv

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

Syntaxe

void WINAPI glLightModeliv(
         GLenum pname,
   const GLint  *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 entières qui spécifient l’intensité RVBA ambiante de l’ensemble de la scène. Les valeurs entières sont mappées linéairement 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 limitées. L’intensité de 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 entière unique qui spécifie comment les angles de réflexion spéculaire sont calculés. Si la valeur param est 0 (ou 0,0), les angles de réflexion spéculaire prennent la direction de la 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 entière unique qui spécifie si les calculs d’éclairage unilatéral ou double 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. Sinon, 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 .

Name 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 correspondant à glEnd.

Notes

La fonction glLightModeliv définit le paramètre du 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 vertex est la somme de l’intensité d’émission du matériau, le produit de la réflectance ambiante du matériau et de l’intensité ambiante du modèle d’éclairage en 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 : ambiante, diffuse 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 du matériau, de l’intensité diffuse de la lumière et du produit point de la normale du vertex avec le vecteur normalisé du sommet à la source de lumière.
  • La contribution de la source de lumière spéculaire est le produit de la réflectance spéculaire du matériau, de l’intensité spéculaire de la lumière et du produit en point des vecteurs normalisés de vertex à œil et de vertex à lumière, élevés à la puissance de la brillance du matériau.

Les trois contributions de la source de lumière sont atténuées de façon é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 réparti et de l’angle de coupure. 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 résultante 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 vertex est comprise entre les valeurs ambiantes et 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’indice ambiant.

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

glGet avec argument GL_LIGHT_MODEL_LOCAL_VIEWER

glGet avec GL_LIGHT_MODEL_TWO_SIDE d’arguments

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

glEnd

glLight

glMaterial