Développement XNA pour la XBox et le PC
296
Commencez par activer la prise en charge de la lumière auprès de l’effet :
effect.LightingEnabled = true;
Le cube a disparu : c’est tout à fait normal puisque vous n’avez pas encore défini de
lumières. Commencez par vous occuper de la lumière d’ambiance en définissant la propriété
AmbientLightColor de l’effet. Cette propriété est de type Vector3 : la composante X correspond
au niveau de rouge, la composante Y au niveau de vert et la composante Z au niveau de
bleu. Ces trois composantes doivent être définies par un nombre compris entre 0 et 1.
La ligne suivante définit une lumière d’ambiance blanche (figure 12-28).
effect.AmbientLightColor = new Vector3(1, 1, 1);
Le rendu suivant fait clairement apparaître qu’une lumière d’ambiance ne doit pas être
trop présente. Préférez un gris plus sombre (même quantité de rouge, de vert et de bleu).
Le résultat visible sur la figure 12-29 semble être assez concluant.
effect.AmbientLightColor = new Vector3(0.3f, 0.3f, 0.3f);
La classe BasicEffect vous permet d’ajouter jusqu’à trois lumières directionnelles (qu’elles
soient diffuses ou spéculaires) : DirectionalLight0, DirectionalLight1 et DirectionalLight2.
Dans un premier temps, vous allez utiliser une lumière diffuse. Commencez par activer la
lumière directionnelle grâce à sa propriété Enabled. Donnez-lui ensuite sa direction via un
objet de type Vector3 (dans l’exemple suivant, elle est dirigée vers le bas et vers le fond
de la scène). Enfin, choisissez la couleur qu’elle doit diffuser (figure 12-30).
effect.DirectionalLight0.Enabled = true;
effect.DirectionalLight0.Direction = Vector3.Normalize(new Vector3(0, -1, -1));
effect.DirectionalLight0.DiffuseColor = new Vector3(1f, 1f, 1f);
Figure 12-28
Une lumière d’ambiance
blanche
=Labat FM.book Page 296 Vendredi, 19. juin 2009 4:01 16
296
Commencez par activer la prise en charge de la lumière auprès de l’effet :
effect.LightingEnabled = true;
Le cube a disparu : c’est tout à fait normal puisque vous n’avez pas encore défini de
lumières. Commencez par vous occuper de la lumière d’ambiance en définissant la propriété
AmbientLightColor de l’effet. Cette propriété est de type Vector3 : la composante X correspond
au niveau de rouge, la composante Y au niveau de vert et la composante Z au niveau de
bleu. Ces trois composantes doivent être définies par un nombre compris entre 0 et 1.
La ligne suivante définit une lumière d’ambiance blanche (figure 12-28).
effect.AmbientLightColor = new Vector3(1, 1, 1);
Le rendu suivant fait clairement apparaître qu’une lumière d’ambiance ne doit pas être
trop présente. Préférez un gris plus sombre (même quantité de rouge, de vert et de bleu).
Le résultat visible sur la figure 12-29 semble être assez concluant.
effect.AmbientLightColor = new Vector3(0.3f, 0.3f, 0.3f);
La classe BasicEffect vous permet d’ajouter jusqu’à trois lumières directionnelles (qu’elles
soient diffuses ou spéculaires) : DirectionalLight0, DirectionalLight1 et DirectionalLight2.
Dans un premier temps, vous allez utiliser une lumière diffuse. Commencez par activer la
lumière directionnelle grâce à sa propriété Enabled. Donnez-lui ensuite sa direction via un
objet de type Vector3 (dans l’exemple suivant, elle est dirigée vers le bas et vers le fond
de la scène). Enfin, choisissez la couleur qu’elle doit diffuser (figure 12-30).
effect.DirectionalLight0.Enabled = true;
effect.DirectionalLight0.Direction = Vector3.Normalize(new Vector3(0, -1, -1));
effect.DirectionalLight0.DiffuseColor = new Vector3(1f, 1f, 1f);
Figure 12-28
Une lumière d’ambiance
blanche
=Labat FM.book Page 296 Vendredi, 19. juin 2009 4:01 16
