je trouve bcp de txt expliquant qu un des problemes de OpenGL est sa limite de 8 lumieres simultannees, alors que directx ne les a pas.
une astuce possible et d activer les lumieres pour les seuls polygones qui en ont besoin.
Il est tres rare qu un seul et meme triangle est besoin de 8 sources de lumiere simultannement : disont 1-4 maxi... ce qui nest pas le cas de certain scene qui peuvent compter un nombre superieur.
On pourrait definir 16 lumieres dans une meme scene, mais suffisamment espace de telle sorte que seule 1 ou 2 lumieres on reellement de l influence sur un polygone.
Ce qui voudrait dire que pour chaque triangle, il faut regarder sa distance avec tout les points lumineux de la scene, garder les 1-4 plus pres et definir 1 a 4 nouvelles "lampes" OpenGL. On pourrait pre-calculer ceci avec les sources de lumieres static (pas du lightmap) ou avec des sources qui se deplace dans un environnement precis (salle).
Dans le cas d un joueur qui se deplace avec sa torche (pas l electrique), il faudrait faire du cloisement pour limiter les calculs.
Qu est ce que vous en pensez ?