| 2008-08-03 | Que la lumière soit! |
Après quelques réflexions, j'ai décidé que la principale source de lumière proviendrait du joueur. Daídalos se tournant principalement vers une ambiance sombre et inquiétante, je me suis dit que question ambiance, avoir pour source principale de lumière une lampe torche serait plutôt pas mal.
J'ai donc commencé à me pencher sur la gestion de la lumière:
Que la lumière soit!
En fait, pas tant que ça. Si vous faites attention, vous remarquerez que la lumière n'est pas vraiment réaliste, elle est même très grossière puisqu'on vois nettement les points de "ruptures". Il faut donc améliorer ça.
Un peu de technique:
Afin que OpenGl puisse savoir comment gérer la lumière, il faut lui indiquer comment sont orientées les surfaces des murs. Pour cela, on utilise ce qu'on appel les normales. Une normale est un vecteur qui est perpendiculaire à une arrête d'un objet. Il y en a donc 4 par faces.
Dans les images précédentes, les normales sont bien là, mais cela ne suffit pas, Pourquoi? Tout simplement car quatre normales par mur n'est pas assez, ce qui fait que la lumière n'a pas beaucoup de points de références, et donc le dégradé de la lumière est grossier (d'où l'aspect triangulaire de la lumière).
Il faut donc monter le nombre de normales par mur. Comme je l'ai dit plus haut, chaque normale est associée à une arrête d'une face, donc en fait on va tout simplement augmenter le nombre de faces par mur, donc le nombre de polygones!
Le résultat est tout de suite mieux, bien qu'au final on ait eu besoin d'augmenter le nombre de polygone de la scène. Dans la futur version d'essai, il sera possible de régler le niveau de polygones des objets de la scène, comme ça même les plus petites configurations pourront faire tourner le jeu.