Les cours d'introduction aux graphiques ont généralement un projet qui vous demande de créer un traceur de rayons pour rendre une scène. De nombreux étudiants en graphisme qui entrent à l'école supérieure disent vouloir travailler sur le lancer de rayons. Et pourtant, il semble que le lancer de rayons soit un champ mort dans des lieux comme SIGGRAPH, etc.
Le lancer de rayons est-il vraiment le meilleur moyen de rendre une scène avec précision avec tous les éclairages souhaités, etc., et est-ce seulement la performance lente (en lecture non interactive) des traceurs de rayons qui les rend inintéressants, ou y a-t-il autre chose?
Réponses:
Le lancer de rayons est un algorithme très agréable et intuitif, et c'est une façon plus réaliste physiquement de décrire l'illumination d'une scène que la pixellisation, mais:
Même dans les applications non interactives, telles que les films, Raytracing est très peu utilisé en raison de ses limites. Pixar n'a commencé à utiliser Raytracing dans les voitures, et uniquement pour certains effets de réflexion spécifiques ( Ray Tracing pour le film «Cars» ).
Voici un excellent article qui décrit plus en détail l'état actuel de Raytracing et ses avantages et inconvénients: State of Ray Tracing (dans les jeux) .
la source
Le lancer de rayons de base a un problème majeur lié à la lumière ambiante. La plupart des modèles d'éclairage traitent la lumière ambiante comme un facteur constant imprégnant l'éther. Bien que le lancer de rayons soit idéal pour calculer les réflexions, il souffre d'instabilité numérique et de tests d'intersection de surface compliqués. Le traçage des rayons peut ne pas fonctionner correctement avec le rendu accéléré par le matériel, car la récursivité joue un rôle majeur dans la détermination de l'éclairage pour un pixel particulier. Le lancer de rayons de base est très coûteux en calcul.
La radiosité gère mieux la lumière ambiante en ce qu'elle traite tous les objets de l'environnement comme des sources de lumière, produisant un modèle d'éclairage qui est en quelque sorte plus réaliste que le lancer de rayons. Avec une solution de radiosité, il y a un nombre fixe de polygones dans une scène, et le calcul se prête à l'accélération matérielle.
En fin de compte, le ray trancing n'est pas le meilleur moyen de rendre une scène, mais c'est un composant d'une bonne stratégie de rendu. Le coût de calcul élevé et un mauvais éclairage ambiant sont des impacts majeurs contre le lancer de rayons. En tant que sujet de recherche, les travaux sont en cours , mais semblent se concentrer sur l'accélération matérielle.
la source
Je ne dirais pas que le ray-tracing / path-tracing est mort ... quoi qu'il en soit, il y a eu un regain d'intérêt populaire dans le domaine en raison du parallélisme inhérent des nombreux algorithmes associés dans ce domaine, combiné à la vitesse de Systèmes basés sur GPU qui permettent de calculer des millions de rayons par seconde. À cela s'ajoute la flexibilité du pipeline de rendu que des langages plus génériques tels que CUDA et OpenCL permettent aux développeurs de tirer parti des fonctionnalités parallèles du GPU sans avoir à utiliser explicitement le pipeline graphique OpenGL comme les techniques initiales du GPGPU. Voici quelques exemples notables de la recherche continue de traçage de voies principales:
Enfin, vous avez beaucoup de recherches sur les techniques d'optimisation du problème d'éclairage global, y compris l'éclairage global basé sur des points, la cartographie des photons et les optimisations associées, la modélisation d'apparence avancée (y compris les méthodes basées sur les données), la mise en cache de l'irradiance, etc., etc.
la source