Explications sur le temps réel

Qu'est-ce que le ray tracing en temps réel et pourquoi devriez-vous vous y intéresser ?

Avec l'aimable autorisation d'Epic Records
Au cours des trois ou quatre dernières années, vous avez peut-être beaucoup entendu parler du ray tracing en temps réel. Vos amis vous ont peut-être dit que vous devriez vraiment vous procurer une prestigieuse carte graphique NVIDIA RTX pour votre prochain ordinateur. Mais pourquoi en fait-on tout un plat ? Cet article est fait pour vous.

Qu'est-ce que le ray tracing ?

Commençons par les bases. Nous définirons au mieux le ray tracing et nous le comparerons avec la rastérisation, une technologie qu'il supplante dans bien des cas. 

La rastérisation et le ray tracing sont des méthodes de rendu utilisées lors de la création d'images de synthèse. Elles permettent de déterminer la couleur des pixels qui composent l'image affichée à l'écran ou enregistrée sur votre disque dur lorsque vous appuyez sur le bouton de rendu. 

La rastérisation consiste à dessiner les objets d'une scène en commençant par l'arrière pour finir par l'avant en projetant des objets en 3D sur un plan 2D à l'aide de matrices de transformation. La couleur de chaque pixel est alors déterminée par des informations (couleur, texture, rendu normal) stockées sur le maillage (modèle) et associées à l'éclairage de la scène. Cette méthode est généralement bien plus rapide que le ray tracing, mais elle ne peut pas simuler les effets dépendant de la lumière réfléchie, comme les reflets ultraréalistes, la translucidité et l'occlusion ambiante.
Le ray tracing, quant à lui, consiste à lancer un rayon depuis le point de vue de la caméra et à retracer sa trajectoire tandis qu'il rebondit sur les objets qui peuplent la scène, jusqu'à atteindre une source de lumière. Le rayon collecte et dépose de la couleur sur son trajet. Puisque ces rayons imitent le comportement physique des rayons de lumière, les résultats obtenus sont bien plus photoréalistes et de meilleure qualité que ceux générés par la rastérisation. Vous obtiendrez en effet des ombres détaillées et diffuses, une occlusion ambiante ainsi que des reflets et une réfraction réalistes. Cependant, tous ces avantages ont un prix : la vitesse.

Qu'est-ce que le rendu en temps réel ?

Lorsque vous regardez un film au cinéma (qu'il s'agisse d'une production en prise de vues réelles avec de véritables acteurs et environnements, ou bien d'un film en images de synthèse), les mouvements que votre cerveau perçoit comme étant continus sont en réalité 24 images distinctes qui sont jouées à la suite l'une de l'autre à chaque seconde. 

Pour les films en images de synthèse, chacune de ces images doit être rendue : l'ordinateur doit donc calculer ce à quoi doit ressembler chacun des pixels à l'écran. Pour l'image de synthèse traditionnelle, ce travail est effectué à l'aide d'un moteur de rendu hors ligne et il n'est pas rare qu'une seule image nécessite plusieurs heures, voire plusieurs jours de travail avant d'arriver au résultat escompté.

Cependant, il n'est pas possible de savoir à l'avance où la caméra va se poser dans les jeux et autres applications interactives. Les images doivent donc être rendues au moment même où elles apparaissent, c'est-à-dire en temps réel. Dans les jeux, 60 ou même 120 images sont reproduites chaque seconde, ce qui signifie que chaque image n'apparaît que quelques millisecondes.

La rastérisation est assez rapide et a donc été utilisée pour le rendu en temps réel dans les jeux vidéo pendant des décennies (même si son utilisation impliquait de nombreux compromis et astuces). Jusqu'à récemment, le ray tracing n'était utilisé que pour le rendu hors ligne. Dans l'industrie vidéoludique, cette technique n'était utilisée que pour les cinématiques qui, comme dans les films, sont rendues en avance et sont simplement diffusées dans le jeu. Il n'est pas possible d'interagir avec.

Qu'est-ce qui a rendu le ray tracing en temps réel possible ?

Qu'est-ce qui a changé ? En 2018, deux catalyseurs de technologie concurrents ont vu le jour : le cadre DXR de Microsoft (DirectX Raytracing) et la plateforme RTX de NVIDIA. En travaillant avec NVIDIA et ILMxLAB, Epic Games a pu présenter le ray tracing en temps réel pour la première fois à la GDC de mars 2018 avec la démo Reflections, qui mettait en vedette des personnages de Star Wars : Les Derniers Jedi.
Cet élément bénéficiait d'éclairages de zone texturés, d'ombres de zone en ray tracing, de reflets en ray tracing, d'occlusion ambiante en ray tracing, d'une profondeur de champ cinématographique et de denoisers NVIDIA, tout cela en temps réel. 

Mais ce n'était que le début. Le prototype du code de l'Unreal Engine n'était pas encore accessible aux utilisateurs. Le matériel nécessaire pour lancer la démo en temps réel était notamment composé d'une station NVIDIA DGX avec quatre processeurs graphiques NVIDIA Volta, pour un prix qui avoisinait les 70 000 $. À l'époque, ni le logiciel ni le matériel n'étaient véritablement abordables pour les utilisateurs lambda.
 

Est-ce que tout le monde peut utiliser le ray tracing ?

Arrive alors la Gamescom d'août 2018. NVIDIA présente des reflets en temps réel sur l'un de ses nouveaux GPU GeForce RTX 2080 Ti à 1 200 $. 

Lors de la GDC du mois de mars de l'année suivante, Epic Games propose sa technologie de ray tracing en temps réel dans le cadre de la Bêta de l'Unreal Engine 4.22. Celle-ci utilisait une approche hybride qui associait le ray tracing, là où il pouvait apporter des améliorations, aux techniques plus traditionnelles, permettant ainsi d'obtenir des résultats en temps réel.

Dans le cadre de cette annonce, Goodbye Kansas et Deep Forest Films ont mis en évidence l'évolution du logiciel en 12 mois seulement avec Troll, une cinématique en temps réel comprenant un humain numérique
Aujourd'hui, avec l'Unreal Engine 5, le logiciel de ray tracing d'Epic a bénéficié de nombreuses améliorations, notamment en ce qui concerne ses performances, sa stabilité et ses fonctionnalités. Il est également possible de trouver des cartes graphiques capables d'utiliser le ray tracing en temps réel pour moins de 500 $. L'Unreal Engine est quant à lui disponible en téléchargement gratuit, vous pouvez donc vous lancer facilement. Puisque les cartes graphiques RTX sont également moins chères qu'elles ne l'étaient autrefois, le ray tracing en temps réel est à la portée d'un grand nombre d'utilisateurs. 

Quels sont les avantages du ray tracing ?

Commençons tout d'abord par aborder les avantages du ray tracing, en temps réel ou hors ligne. 

Plus les reflets sont réalistes, plus la scène est crédible. Les reflets en ray tracing peuvent prendre en charge de nombreux rebonds, ce qui signifie qu'ils peuvent générer des interréflexions sur les surfaces réfléchissantes, comme dans la vraie vie. Ils reflètent également les objets qui sont en dehors du champ de vision. Pour les constructeurs et les vendeurs automobiles, la manière dont la lumière se reflète sur une surface a une importance capitale. Le ray tracing leur permet donc d'avoir un aperçu des reflets avant la construction de la voiture.
Avec l'aimable autorisation de GIANTSTEP
Les ombres en ray tracing permettent de simuler un éclairage doux sur des objets de l'environnement. Cela signifie qu'en fonction de la taille ou de l'angle source de la lumière, l'ombre d'un objet sera précise près de la surface de contact, tandis qu'elle sera plus diffuse à distance. En plus d'ancrer un objet dans une scène, les ombres en ray tracing permettent de capturer des détails sur des zones comme les tissus d'ameublement, ce qui rend les intérieurs plus convaincants. Les ombres en ray tracing permettent également aux architectes de réaliser des études d'ensoleillement précises.
L'éclairage global simule l'effet que l'interaction naturelle de la lumière avec les objets peut avoir sur d'autres objets de la scène et prend en compte l'absorption et la réflectivité des matériaux dont ils sont composés. Cela rend les scènes considérablement plus réalistes. Avec le ray tracing, l'éclairage global est calculé pour chaque image et n'est pas prégénéré, ce qui signifie que l'éclairage peut changer au fil du temps, notamment lorsque la lumière est éteinte ou allumée, lorsque le soleil se lève ou lorsque quelqu'un ouvre une porte. Le système Lumen de l'Unreal Engine est un système dynamique d'éclairage global et de reflets qui fait usage de plusieurs méthodes de ray tracing.
L'occlusion ambiante est l'ombrage de zones qui bloquent naturellement l'éclairage environnemental (l'éclairage qui ne provient pas directement d'une source de lumière), comme les coins des murs ou les rides de la peau. L'occlusion ambiante en ray tracing est bien plus précise (et par conséquent, crédible) que l'occlusion ambiante à l'écran. 
Pour les rendus extérieurs, ou pour les intérieurs bénéficiant de grandes fenêtres, il est essentiel de reproduire avec précision la lumière du ciel pour obtenir une scène réaliste. Avec le ray tracing, vous pouvez utiliser une image à plage dynamique élevée (HDR) pour éclairer votre scène et produire des effets subtils et diffus qui reproduisent le monde réel. 
Avec l'aimable autorisation d'ARCHVYZ, projet de Toledano Architects
En plus de ces nombreux avantages, le ray tracing est généralement plus facile à configurer et à utiliser que les méthodes employées pour approximer certains de ces effets avec des moteurs de rendu matriciels, comme les cartes de profondeur, l'éclairage global prégénéré et les sondes à réflexion.

Qui utilise le ray tracing en temps réel ?

L'objectif de la plupart des développeurs de jeux est de rendre l'expérience aussi réaliste que possible, le ray tracing en temps réel est donc un choix naturel. Mais puisque les jeux AAA ont généralement un cycle de production qui peut s'étendre sur trois à quatre ans, les joueurs ont dû prendre leur mal en patience avant de pouvoir profiter de cette technologie. Aujourd'hui, de nombreux jeux utilisant le ray tracing en temps réel arrivent enfin sur le marché, par exemple Deliver Us Mars, Ghostwire: Tokyo et Hellblade: Senua's Sacrifice. Bien sûr, bon nombre d'autres titres sont encore en développement.
Le ray tracing en temps réel de l'Unreal Engine n'est pas utilisé que dans les jeux. Il est aussi employé pour la visualisation architecturale, notamment dans cet outil de vente interactif, par Buildmedia, pour la visualisation automobile, comme dans cet outil de revue de conception en VR, par Subaru, dans la production virtuelle pour le cinéma et la télévision, permettant par exemple à Volkswagen de faire des publicités plus écologiques, et bien plus encore. Le ray tracing est également très utile pour créer des applications interactives réalistes, qu'il s'agisse de concerts virtuels, d'essayage de vêtements en ligne et autres. En simulant le comportement naturel de la lumière, les expériences en ray tracing en temps réel deviennent plus immersives et réalistes. 
Avec l'aimable autorisation d'Epic Records
Le ray tracing en temps réel bouscule également le monde de la création de contenu d'animation pour le cinéma et la télévision, comme le prouve la série "Armored Saurus" de Studio EON, qui emploie également des techniques de production virtuelle. La possibilité d'obtenir un rendu en une fraction du temps que prendrait un pipeline traditionnel, sans pour autant sacrifier la qualité attendue par le public, permet d'économiser sur les coûts de production et également d'itérer jusqu'à la dernière minute.
Avec l'aimable autorisation d'Armored Saurus | Studio EON

Premiers pas avec le ray tracing en temps réel

Si vous souhaitez essayer le ray tracing en temps réel dans l'Unreal Engine, vous pouvez le télécharger gratuitement et consulter la documentation pour vérifier la configuration système requise. Vous pouvez également découvrir comment activer le ray tracing en temps réel et en apprendre davantage sur les diverses fonctionnalités proposées. 

Si vous préférez les tutoriels vidéo, consultez la communauté de développeurs Epic. Vous trouverez des centaines d'heures de formation en ligne gratuites, notamment ces cours sur le ray tracing.

Il vous est également possible de découvrir une autre technique de ray tracing disponible dans l'Unreal Engine appelée le path tracing. Ce mode de rendu progressif avec accélération matérielle atténue certains des inconvénients liés aux fonctionnalités en temps réel et offre un grand réalisme en matière d'éclairage global, de reflets, de réfraction des matériaux, et ce, sans compromis.
Avec l'aimable autorisation d'ARCHVYZ, projet de Toledano Architects

Plus d'explications sur le temps réel


explications sur le temps réel

Comment créer un humain numérique ?

explications sur le temps réel

Qu'est-ce qu'un animateur 3D ?

explications sur le temps réel

Qu'est-ce que la réalité augmentée ?