Arrivé en grande pompe sur la scène de la Gamescom 2018, Jen Hsun Huang, cofondateur et président de Nvidia, vient peut-être de faire une annonce qui restera longtemps gravée dans nos mémoires. Véritable révolution pour le jeu vidéo, elle pourrait également amorcer le début d’un changement considérable dans le domaine des effets spéciaux et de l’animation 3D. Mais de quoi parle-t-on exactement ?
Il aura fallu 10 longues années et des investissements de plusieurs millions de dollars pour permettre à Nvidia de gagner son pari sur le « Ray Tracing ».
Il y a des avancées technologiques qui ne laissent pas l’humanité indifférente. L’annonce de ces nouvelles séries de cartes graphiques grand public et professionnelles (Geforce RTX et Quadro RTX) en fait partie.
Avec cette prouesse, Nvidia vient de nous promettre des changements majeurs dans notre expérience audiovisuelle, mais aussi sur la manière dont nous allons concevoir nos images, que ce soit pour du jeu vidéo, du cinéma ou de la réalité augmentée…
Et pourtant. Il était difficilement imaginable qu’une telle technologie arrive entre les mains du grand public aussi tôt sur le marché.
Qu’apporte-t-elle de si fantastique ? Nvidia n’a pas lésiné sur le spectacle pour vous l’expliquer.
Qu’est-ce que le Ray Tracing de Nvidia ?
Puisqu’il faut bien comprendre de quoi nous parlons, revenons très rapidement sur ce concept qui peut, peut-être, vous sembler nébuleux.
Le Ray Tracing est aujourd’hui l’algorithme d’éclairage le plus abouti pour simuler des interactions physiques semblables à la réalité. Il apporte une qualité d’affichage bien plus crédible que n’importe quelle autre technique utilisée encore aujourd’hui.
Mais vous devez savoir que ce n’est pas une technologie signée Nvidia comme pouvaient l’être PhysX ou G-SYNC. Bien au contraire, elle est utilisée depuis très longtemps, notamment dans la création d’image de synthèses pré-calculées pour le cinéma.
Il était impensable de la voir arriver sur le terrain du temps réel puisque son principal défaut repose sur une demande en ressource très gourmande.
Une seule image de la vidéo présentée ci-dessus pourrait prendre plusieurs heures de calcul pour espérer un rendu similaire sur un format pré-calculé. Et pourtant, Nvidia en propose 60 à la seconde sur un format 4K. Un véritable pas de géant dans l’univers du temps réel.
Pour entrer dans les détails, lorsqu’une source de lumière émet des rayons lumineux, ces derniers rebondissent sur l’ensemble des surfaces d’un objet présent sur son passage jusqu’à atteindre nos yeux. C’est ainsi que notre cerveau reçoit toutes les informations dont il a besoin pour appréhender l’environnement qui l’entoure.
Le Ray Tracing emprunte le chemin inverse : on part de l’œil, dans notre cas, une caméra virtuelle, qui émet plusieurs rayons. Ces rayons parcourent l’environnement et analysent chaque objet qu’ils rencontrent en analysant leur capacité de réflexion. Pour ça, plusieurs critères sont pris en compte comme le type d’objet, sa couleur, sa texture, sa position dans l’espace etc. Cette méthode permet ainsi de simuler la réaction physique d’un rayon lumineux.
Cette vidéo postée par Nvidia en mars 2018 vous permettra de comprendre plus facilement ce concept.
Une révolution pour l’industrie du jeu vidéo
Il existe de nombreux cas d’application à l’image en temps réel. La réalité augmentée, l’imagerie médicale ou les voitures autonomes… Pourtant c’est le jeu vidéo qui nous intéresse ici puisqu’il est le principal intéressé par l’arrivée du Ray Tracing.
Jusqu’ici, ce média employait plutôt une technique appelée la rastérisation. Loin d’être aussi performante que le Ray Tracing, elle permet tout de même d’offrir un rendu d’image satisfaisant mais peu concordant avec la réalité. La gestion de la lumière, des reflets et des ombres n’est pas calculée par l’envoi d’une multitude de rayons lumineux mais plutôt par des algorithmes simplifiés.
La prouesse de Nvidia est d’avoir réussi à implanter, en partie, une technologie issue des rendus photoréalistes pour le temps réel. Il existe cependant quelques faiblesses dans leur solution.
Tandis qu’une image pré-calculée avec la pleine puissance du Ray Tracing se base sur l’envoi de plusieurs millions de rayons lumineux par pixel afin d’obtenir une simulation semblable à la physique de la lumière, la méthode employée par Nvidia repose sur l’envoi de seulement 2 rayons par pixel. Le temps réel atteignant ses limites actuelles au-delà.
Pour contourner ce manque de puissance, Nvidia a fait le choix de mutualiser le Ray Tracing avec la rastérisation dans leur architecture « Turing » en ajoutant également un algorithme basé sur une intelligence artificielle et le deep learning. Cela leur permet d’utiliser plusieurs informations comme la couleur de l’objet ou l’orientation de la surface et de lisser le résultat en temps réel.
Cette solution leur permet tout de même d’offrir un gap visuel sans précédent pour le jeu vidéo.
Quels sont les changements envisagés par cette annonce sur l’univers des effets spéciaux et de l’animation 3D ?
Il existe deux distinctions importantes à prendre en compte. Le jeu vidéo est depuis toujours confronté à une problématique liée au temps. Bien évidemment, proposer une qualité d’image satisfaisante pour le joueur est important, mais elle doit pouvoir s’afficher sans rencontrer de problèmes de ralentissement en live.
Dans un domaine comme le cinéma, les problématiques sont différentes. Peu importe le temps que ça prend (dans des limites raisonnables bien sûr), la qualité d’image est une priorité absolue. Sans la contrainte du temps réel, c’est exactement pour cette raison que la création d’effets spéciaux et d’animation 3D profite depuis toujours de la technologie du Ray Tracing comme base de travail.
C’est aujourd’hui la solution la plus physique pour simuler la réalité.
Chacune des images est poussée au niveau de qualité la plus haute que l’on puisse atteindre.
Le problème rencontré par la majorité des studios d’effets spéciaux et d’animation 3D revient sur le temps.
En infographie 3D, il existe deux solutions. Soit on privilégie le temps au détriment de la qualité, c’est le cas pour l’affichage temps réel. Soit, la qualité passe en priorité, et dans ce cas-là, le temps de calcul devient conséquent.
Une seule image en temps réel ne prend que 0,016 seconde à s’afficher, alors que plusieurs heures sont nécessaires pour pré-calculer des images de synthèse avec des algorithmes embarquant toute la puissance du Ray Tracing.
Sur un projet complet, le temps de calcul des images peut être de plusieurs semaines voire plusieurs mois pour les plus gros.
Dans un milieu où les deadlines sont très compliquées à tenir, comment faire pour réduire ce temps considérable seulement alloué au calcul ? Pourrions-nous envisager gagner plus de temps sur la production ?
Vers la fin du calcul des images par processeur ?
Afin d’optimiser et réduire le temps de calcul des images au maximum, on réunit de nombreux ordinateurs en réseaux. On appelle cela plus communément « une ferme de rendus ».
Elles sont principalement composées de CPU (processeurs) mais une tendance émerge depuis ces 5 dernières années : les fermes de rendus composées exclusivement de GPU (carte graphique).
Il existe une réelle convergence d’opinion sur le sujet. Quel est le plus efficace ? Jusqu’aujourd’hui, les processeurs ont encore une présence accrue dans nos fermes de rendus. Mais l’avancée technologique d’Nvidia rebat complètement les cartes (et c’est le cas de le dire).
Dans le domaine des effets spéciaux et de l’animation 3D, nous sommes face à une problématique bien claire : pour créer nos images de synthèses, les outils que nous utilisons doivent résoudre une multitude de calculs répétitifs.
Faisons un point sur la structure même de ces composants. Leur architecture est sensiblement différente, tout comme leur mission au sein d’un ordinateur, bien qu’ils puissent, dans notre cas, arriver au résultat voulu.
Le processeur (CPU) est composé d’un petit nombre de cœurs relativement puissants lui permettant de réaliser des calculs complexes très rapidement. A contrario, une carte graphique repose sur un nombre plus important de cœurs ayant la capacité de traiter un flux plus important de calculs similaires en même temps.
Une analogie s’impose.
Imaginez-vous à la tête d’une équipe de 20 personnes. Parmi elles, 19 ont une capacité cognitive dans la normalité et le dernier dispose d’un QI très largement supérieur que l’on pourrait désigner comme un savant.
Vous formez deux équipes. L’une est composée du savant, qui représente ici notre processeur, et l’autre équipe, composée des 19 personnes, jouera le rôle de notre carte graphique.
Vous leur assignez les mêmes tâches pour évaluer l’équipe la plus performante.
La première consiste à réaliser une énorme quantité de calculs similaires de niveau collège. Tout naturellement, l’équipe composée de 19 personnes ira infiniment plus vite que le « savant ».
Maintenant, les deux équipes sont confrontées à des calculs bien plus complexes. Bien que seul, notre savant aura la capacité d’avancer bien plus vite grâce à sa logique et sa capacité de réflexion sur des problèmes complexes.
Les calculs nécessaires pour afficher une image photoréaliste se comptent par milliard et sont sensiblement de même nature. On pourrait donc penser que l’architecture d’une carte graphique semble plus optimisée.
C’est exactement pour cette raison que l’arrivée des nouveaux produits de Nvidia laisse entrevoir un changement majeur.
Que pouvons-nous attendre pour le futur ?
Comme le jeu vidéo, nous sommes à l’aube d’un bouleversement sans précédent pour l’industrie de l’image de synthèse.
Ce graphique vous aidera à comprendre la tendance vers laquelle nous nous dirigeons dans les prochaines années concernant les deux domaines que sont les images pré-calculées et le temps réel.
Inexorablement, il n’y aura bientôt plus de choix à faire entre la qualité et le temps d’affichage. Bien qu’il existe encore de nombreux efforts à fournir pour atteindre ce point de convergence, les cartes graphiques RTX de Nvidia viennent tout bonnement d’offrir un pas de géant au temps réel en lui permettant de se rapprocher vers la qualité des images pré-calculées.
Pourtant, ces dernières resteront encore d’actualité car le Ray Tracing proposé par Nvidia souffre de certaines limites. La technologie est encore inadaptée pour créer une véritable image de synthèse avec des effets spéciaux ou de l’animation 3D comme le proposerait un Pixar. Elle a besoin de devenir plus mature. Il sera intéressant de voir comment Nvidia réussira à combler ces lacunes dans les prochaines générations de GPU.
Ce n’est qu’une question de temps avant que film d’animation et temps réel fusionnent. Certains ont déjà sauté le pas, comme Oats studio et leurs courts-métrages rendus sur Unity, moteur temps réel.
Les moteurs de rendu temps réel, principalement développé pour le jeu vidéo, ne sont pas adaptés nativement pour les créer. Ils proposent une image finalisée et ne laissent aucune marge de manœuvre pour l’incrustation de VFX qui nécessite de découper certains éléments de l’image.
C’est ce défi qui vient d’être enclenché par Nvidia. Peut-être demain, pourrons-nous espérer un moteur de rendu en temps réel tout simplement universel et optimisé pour l’ensemble des domaines liés à l’image. L’exigence liée à la qualité ne changera pas mais il permettra sans aucun doute de faire gagner un temps considérable lié aux calculs et ainsi allouer plus de temps à la production.
Quel est votre ressenti sur le sujet ?