Un résumé de l'algorithme de raytracing du moteur pourrait être le suivant :
Main
Pour chaque pixel
On forme un rayon primaire
On cherche l'intersection la plus proche
S'il y a une intersection
CalculCouleur(Profondeur+1)
On attribue la couleur calculée au pixel
CalculCouleur(Profondeur)
On forme le rayon lumineux vers une source
On cherche une intersection
Si l'objet est réfléchissant
On forme le rayon réfléchi
On cherche l'intersection la plus proche
S'il touche un objet
CalculCouleur(Profondeur+1)
S'il l'objet est transparent
On forme le rayon réfracté
On cherche l'intersection la plus proche
S'il touche un objet
CalculCouleur(Profondeur+1)
On calcule la couleur du pixel
D'autre part, il faut penser à initialiser la Vue une fois pour toute, ce travail assez fastidieux est détaillé dans le rapport. Dès lors la caméra est configurée et nous pouvons alors nous intéresser au cœur du moteur de raytracing.
Fig - Illustration des variables utilisées
URL de rétrolien : http://gregory.corgie.free.fr/currentDotclear/index.php?trackback/4