Le raytracing, bientôt dans nos jeux vidéo ?
Certes, la question du raytracing (lancer de rayons) revient assez souvent et malgré quelques avancés régulières dans le domaine, l'application de la technique de raytracing n'est généralement pas du tout applicable aux contraintes des jeux vidéo. En effet, un jeu vidéo demande le rendu de 1920 x 1080 (2 073 600) pixels et cela, 60 fois par seconde. Avec la technique de rendu par rasterisation (envoi d'une liste de triangles au GPU), cela fonctionne plutôt bien et permet de créer les images que l'on a l'habitude de voir. En effet, les cartes graphiques sont optimisées dans ces calculs et elles permettent de fournir des résultats convenables. Toutefois, les images sont bien loin de ce que l'on peut voir dans la nature. Notamment, les lumières sont limitées et il est rare de voir un jeu utilisant la transparence ou des reflets.
Le raytracing permet d'améliorer cette qualité en simulant directement le rayon de lumière (et ses rebonds). Ainsi, le calcul des ombres et des reflets devient facilement possible. Malheureusement, cela demande une puissance accrue en termes de calcul et il est lent de rendre une scène complète, soixante fois par seconde.
À gauche, une image rasterisée (rendu actuel) ; À droite, une image utilisant les deux techniques
(cliquez sur les images pour voir en grand)
Durant la Game Developers Conference 2014, se tenant à San Francisco, Imagination Technologies, un constructeur de puce graphique pour les appareils embarqués a présenté une nouvelle puce permettant un rendu hybride. Pour rappel, Imagination Technologies propose des puces graphiques pour les iPhone et certains appareils sous Android. De plus, la société commerciale propose aussi des cartes professionnelles permettant de faire du raytracing. Dans cette puce, ils ont donc allié leurs deux expertises afin de proposer de faire un rendu temps réel hautement amélioré.
Afin de présenter leur nouveauté, Imagination Technologies a travaillé en collaboration avec Unity Technologies pour développer une version modifiée de Unity, utilisant les nouvelles capacités de cette puce. D'après le constructeur, la puce serait capable de lancer 300 millions de rayons à la seconde (ce qui permettrait d'envoyer environ trois rayons par pixel, pour chaque image). Voici comment fonctionne le nouveau pipeline de rendu :
John Carmack, semble apprécier cette nouvelle solution, comme il l'a indiqué sur son twitter :
I had reviewed some ray tracing hardware before the PVR stuff that was laughably unsuitable to the proposed gaming applications.
Votre opinion
Pensez-vous que le raytracing soit une solution fiable dans le rendu des jeux vidéo ?
Trouvez-vous que c'est une nouveauté intéressante, ou que cela a de grandes chances d'être abandonné ?
Voir aussi
Tutoriels sur le raytracing
Série d'articles sur les cartes graphiques
Source
Gamasutra
Partager