Guide

Ray tracing, la nouvelle révolution graphique?

Kevin Hofer
21/8/2018
Traduction: Sophie Boissonneau

Nvidia la qualifie de plus grande avancée graphique depuis l'introduction de l'architecture CUDA: le ray tracing. Les nouvelles cartes graphiques RTX de l'inventeur du processeur graphique devraient rendre le ray tracing en temps réel accessible à l'utilisateur lambda. Que se cache-t-il derrière cette technologie et qu'est-ce que ça signifie pour les joueurs?

Peu après le lancement de la nouvelle série de cartes graphiques professionnelles basées sur l'architecture Turing, Nvidia présente ses nouvelles cartes grand public. La marque abandonne la désignation GTX au profit de RTX pour les modèles 2070 et 2080. L'architecture Turing devrait enfin rendre le ray tracing en temps réel, auparavant trop gourmand en calculs, possible. Avec les nouveaux cœurs de ray tracing et les cœurs CUDA rassembler sur un seule et même carte, les nouveaux GPU RTX combinent ray tracing et rastérisation.

Le ray tracing permet d'obtenir des effets lumineux réalistes et devrait rendre les jeux encore plus réalistes. Microsoft a développé une nouvelle API DirectX Raytracing (DXR) et Epic Games fournira cette année un ray tracing en temps réel aux développeurs d'Unreal Engine. Tout semble nous conduire vers une nouvelle révolution graphique.

D'où vient le ray tracing?

Le ray tracing est tout sauf nouveau. L'algorithme de base avait déjà été écrit par John Turner Whitted en 1979. Il a ensuite fallu un peu de temps avant que l'on soit capable d'afficher des images rendues par le ray tracing, car la technologie requiert une puissance de calcul énorme. Le ray tracing a cependant été utilisée pour certaines séquences de «Shrek». Vous l'avez peut-être remarqué pour la première fois dans «Cars» en 2006. Mais là aussi, la technologie était relativement peu exploitée, car le rendu d'une seule image demandait énormément de temps. Nvidia s'est lancé dans le ray tracing pour le jeu en 2008. Il a fallu dix ans pour que les premières cartes graphiques supportant le ray tracing soient lancées sur le marché. Quelques jeux comme «Shadow of the Tomb Raider», «Battlefield V», «We Happy Few», «Hitman 2», «Final Fantasy XV», «PlayerUnknown's Battlegrounds», «Remanant from the Ashes» et «Dauntless» supportent déjà le ray tracing et sont très prometteurs.

Qu'est-ce qui distingue le ray tracing de la rastérisation?

Le ray tracing se distingue grâce à sa modélisation très réaliste d'un environnement physique, mais requiert une plus grande puissance de calcul. La rastérisation, au contraire, est plus rapide et peut donc être combinée à de nombreux autres algorithmes. Cependant, le rendu de la rastérisation est loin d'être aussi impressionnant que celui du ray tracing.

À gauche: rastérisation; à droite: ray tracing
À gauche: rastérisation; à droite: ray tracing
Source : capture d'écran venant de «Raytracing in Industry» d'Hugo Pacheco

Rastérisation (rastérisation de polygones)

Une scène 3D se compose de plusieurs éléments: modèles 3D de triangles (polygones) recouverts de textures et couleurs, lumière qui éclaire l'objet et le point de vue à partir duquel la scène est observée. En fait, l'image matricielle se compose d'une grille de pixels créée en partant du point de vue. Le graphique matriciel détermine quels pixels sont recouverts par chacun des polygones de l'image. La couleur du polygone est ensuite appliquée sur le pixel. Le moteur 3D commence par les polygones les plus éloignés et progresse en se rapprochant de l'angle de vue de la caméra. Quand un polygone en recouvre un autre, le pixel prend d'abord la couleur du polygone en arrière-plan puis la couleur du polygone de devant.

D'autres algorithmes comme les shaders ou le shadow mapping viennent ensuite s'ajouter au procédé pour rendre la couleur des pixels plus réaliste.

La rastérisation est limitée: un objet placé en dehors du champ de vision, par exemple, sera ignoré. Il pourrait cependant projeter une ombre sur la scène observée ou même être visible ailleurs. Certains de ces effets peuvent être rendus par des algorithmes supplémentaires comme le shadow mapping, mais les scènes ne ressembleront jamais à la réalité.

C'est parce que la rastérisation ne fonctionne pas comme notre œil. En revanche, le ray tracing s'inspire de la nature.

Ray tracing

Le ray tracing simule le parcours inverse de la lumière vers notre œil. Lorsque l'on observe une scène, notre œil reçoit les rayons provenant de la source lumineuse qui sont reflétés par les divers objets qui nous entourent.

La technologie du ray tracing consiste à envoyer un rayon lumineux sur chaque pixel en partant du point de vue. Le point de vue est votre perception d'une image bidimensionnelle. Le rayon s'étend sur une demi-droite jusqu'à ce qu'il rencontre un élément tridimensionnel de l'image à rendre. On utilise ce point d'impact pour déterminer la couleur du pixel.

En fait, le rendu ray tracing est une sorte de réflexion lumineuse inversée, car les rayons partent du point de vue pour aller vers la source lumineuse. L'algorithme à l'origine du ray tracing de John Turner Whitted se base d'ailleurs sur le principe du retour inverse de la lumière. Il n'est pas adapté au rendu d'images, car il effectue trop de calculs inutiles.

Déterminer la couleur d'un pixel n'est cependant pas suffisant pour obtenir un rendu réaliste, il faut également déterminer l'éclairage du pixel. C'est le rôle des rayons secondaires qui arrivent après les rayons primaires et ont déterminé la visibilité des différents objets de la scène. Pour calculer les effets lumineux d'une scène, les rayons secondaires sont émis en direction des différentes sources de lumière. Si les rayons sont bloqués par un objet, cela signifie que cet objet est dans l'ombre projetée par la source lumineuse en question. La somme de tous les rayons secondaires qui atteignent une source lumineuse détermine la quantité de lumière tombant sur un élément de la scène.

Et ça n'est pas fini. Pour un rendu encore plus réaliste, il faut également prendre en compte la réflexion et la réfraction. C'est-à-dire la quantité de lumière réfléchie au moment de l'impact et la quantité de lumière qui pénètre dans le matériau. On envoie là encore des rayons pour déterminer la couleur finale du pixel.

En résumé, le ray tracing utilise plusieurs types de rayons lumineux pour rendre une image. Les rayons primaires déterminent la visibilité de l'objet. Les rayons secondaires se composent de faisceaux d'ombre, de réflexion et de réfraction et établissent un modèle d'éclairage.

Si tout ça était un peu trop théorique pour vous, je vous recommande ce tutoriel (en anglais). Vous apprendrez d'abord la théorie avec la vidéo, puis mettrez le tout en pratique.

Les avantages du ray tracing

Comme dit plus tôt, la rastérisation permet d'obtenir des effets de lumière relativement réalistes. Mais le ray tracing permet de rendre parfaitement les réflexions, sans s'encombrer d'algorithmes supplémentaires complexes. Tout est calculé directement pas l'algorithme de rendu. La même chose vaut pour interréflexion, par exemple la réflexion d'un rétroviseur sur la carrosserie d'une voiture. Avec la rastérisation, il est très difficile de reproduire cet effet.

Les effets de transparence sont un autre avantage du ray tracing. Le calcul correct de la transparence est particulièrement complexe avec la rastérisation, puisqu'il dépend de l'ordre de rendu. Pour obtenir de bon résultats, il faudrait que les polygones transparents soient triés du plus éloigné de la caméra au plus proche avant le calcul du rendu.

En pratique, ce procédé exige une trop grande puissance de calcul et les erreurs ne sont pas inévitables, car le tri serait fait sur les polygones et non sur les pixels. Le ray tracing, au contraire, permet de rendre de beaux effets de transparence.

Il faut aussi ajouter le calcul des ombres Dans la rastérisation, c'est entre autres le shadow mapping qui permet de les rendre à l'image. Mais pour cela, il faut beaucoup de mémoire et le crénelage pose problème. Le ray tracing permet d'éviter tout problème sans même avoir recours à un algorithme supplémentaire.

Révolution graphique ou simple évolution?

Soyons honnêtes: Nvidia n'a pas totalement tort de déclarer que le ray tracing pourrait être la plus grande révolution graphique depuis l'architecture CUDA. C'est clair, les jeux sont de plus en plus beaux grâce à la résolution 4K, aux shaders améliorés, etc. Mais quand on remarque que les benchmarks sur Crysis (lancé en 2007) sont encore en cours, il est clair que nous n'avons pas connu de véritable révolution graphique depuis dix, douze ans. Reste à savoir si les consoles sont responsables ou non. Le fait est qu'il se passe enfin quelque chose au niveau du graphisme pour les gamers.

Et ce quelque chose pourrait bien être le ray tracing. Les premières démos de jeux avec ray tracing sont franchement impressionnantes. Je me croirais dans un film d'animation, sauf que celui-ci, je peux le contrôler. Le mieux c'est que vous constatiez par vous-même.

Comme mentionné au début de l'article, les GPU RTX misent sur la combinaison du ray tracing et de la rastérisation. Et en effet, les trois vidéo de démo ne montrent pas que le rendu impressionnant des effets lumineux par le ray tracing. Si vous regardez de plus près la vidéo de Battlefield V, vers 20 secondes vous verrez un wagon de tram jaune en arrière-plan. On n'y voit aucun effet de lumière alors que la surface du wagon devrait refléter l'explosion à sa gauche. Nvidia appelle la combinaison de ces deux technologies le rendu hybride.

Les démos sont tout de même époustouflantes et on à plus qu'à se réjouir de la nouvelle révolution graphique.

Les nouveaux GPU disponibles chez digitec

RTX 2080 Ti

MSI GeForce RTX 2080 Ti GAMING X TRIO (11 Go)
Carte graphique
−50%
Utilisé
CHF700.– neuf CHF1399.–

MSI GeForce RTX 2080 Ti GAMING X TRIO

11 Go

Gainward GeForce RTX 2080 Ti Phoenix GS (11 Go)
Carte graphique
Utilisé
CHF275.–

Gainward GeForce RTX 2080 Ti Phoenix GS

11 Go

ASUS GeForce DUAL RTX 2080TI O11G (11 Go)
Carte graphique
Utilisé
CHF800.–

ASUS GeForce DUAL RTX 2080TI O11G

11 Go

RTX 2080

Cet article plaît à 25 personne(s)


User Avatar
User Avatar

La technologie et la société me fascinent. Combiner les deux et les regarder sous différents angles est ma passion.


Gaming
Suivez les thèmes et restez informé dans les domaines qui vous intéressent.

Informatique
Suivez les thèmes et restez informé dans les domaines qui vous intéressent.

Ces articles pourraient aussi vous intéresser

  • Guide

    Cartes graphiques Turing: qu'est-ce que la série RTX a dans le ventre?

    par Kevin Hofer

  • Guide

    Les cartes graphiques recommandées par la rédaction en septembre 2023

    par Kevin Hofer

  • Guide

    Cartes graphiques recommandées par la rédaction : état juin 2023

    par Kevin Hofer

56 commentaires

Avatar
later