jacques wrote:Par contre, en ce qui concerne le moteur raytracing, il me semble qu'il est bien plus lent (trop en tout cas pour faire de la 3D en temps réel, comme dans les jeux vidéos)
C'est exact.
Avec le RayCasting, tu lances 1 rayon par colonne, et les informations rencontrées par ce rayon permettent de dessiner la colonne. Il y a donc un balayage horizontal de ton monde.
La meilleure qualité est obtenue pour des colonnes de 1 pixel de large.
Mais on peut l'accélérer en en diminuant la résolution (colonnes de 2 pixels de large par exemple).
Les mondes rendus par cet algorithmes doivent obéir à des règles. Notamment, le sol doit toujours être horizontal, et les murs toujours vertical. Impossible donc de pencher la tête entre autres...
Avec le RayTracing, tu lances 1 rayon pour chaque intersection ligne-colonne! Il y a donc simultanément un balayage horizontal et vertical de ton monde.
La meilleure qualité est obtenue si l'intersection ligne-colonne est réduite à 1 pixel.
Avec cet algorithme, tu peux rendre tous les mondes 3D possibles et imaginables. Mais il faut du temps... En gros, le temps que prenait l'algorithme précédent est ici élevé au carré!!!
Sur ordinateur, cela sert à générer de images de synthèse...
Sur Nspire, on peut se demander si ça vaut le coup d'attendre plusieurs minutes pour générer une image de synthèse en niveau de gris de 320x240 pixels, alors que ce serait une affaire de secondes pour n'importe quel ordinateur récent...