Bonjour,
J'ai fait un petit moteur 3d qui utilise les octree avec du frustum culling pour ne pas envoyer les objets 3d à la carte graphique si il ne sont pas visible à l'écran.
Le problème c'est lors de la phase d'ombrage : un objet peut-être en dehors du frustum tout en ayant sont ombre dans le frustum.
Ma question : comment savoir si l'ombre d'un objet qui se trouve en dehors du frustum sera visible ? Je cherche principalement un algorithme performant.
J'ai déjà trouvé une solution qui à l'air assez performante (quoi que...faut voir) :
- créer une enveloppe convexe avec le frustum et la light et si l'octree se trouve dans cette enveloppe convexe alors l'ombre des objets contenu dans l'octree sera sûrement visible.
L'idée est bonne mais pour construire une enveloppe convexe (quick hull), c'est pas si simple, Y a-t-il d'autre solution ?
Merci d'avance...
Partager