Lumen, c’est le Ray Tracing pour les consoles et les GPU Low Cost

by Jack
Évolution du lancer de rayons
  • Light maps qui consistent à restituer l’éclairage de la scène à partir d’un point de la caméra sur un serveur de forte puissance. Cette information est convertie en une texture qui sera ensuite appliquée à la scène. Le résultat? La lumière ne change pas avec la position des objets, elle est fausse.
  • Shadow maps qui consiste à faire en sorte que le GPU rende la scène comme si la source de lumière était la caméra pour ne stocker que la carte de profondeur, puis l’utiliser comme texture pour simuler les ombres.
  • Occlusion ambiante pour marquer les points à assombrir ou à éclairer davantage.
  • Utilisation de cartes d’environnement, y compris des cubes d’environnement pour simuler des réflexions.

Tout cela vient du fait que la rastérisation ne peut pas représenter efficacement le transport de la lumière, son fonctionnement est comme un peintre qui utilise des techniques de couleur pour créer la sensation d’illumination, mais c’est une limitation afin d’obtenir une plus grande fidélité graphique.

La représentation des matériaux

Évolution du lancer de rayons

Historiquement, nous avons réussi à représenter un matériau en rastérisation grâce à une combinaison de textures et de programmes de shader pour les manipuler, appelés pixel shaders dans DirectX et fragment shaders dans Vulkan. Cependant, le fait que la rastérisation ne représente pas bien le comportement de la lumière sur les objets entraîne une mauvaise représentation des matériaux.

Dans le monde réel, lorsque la lumière tombe sur une boule de métal très polie, elle ne se comporte pas de la même manière que si elle passait à travers une boule en bois. On ne peut oublier que la réfraction est le changement de direction et de lenteur qu’éprouve un rayon lumineux lorsqu’il passe d’un milieu à un autre avec un indice de réfraction différent. Il est impossible de représenter la lumière dans son comportement physique réel dans une simulation, donc ce que nous faisons est de la représenter autant que possible à notre perception.

L’idée avec l’éclairage global et les technologies telles que Lumen est d’avoir une représentation des matériaux qui est fidèle à notre perception dans le monde réel, simulant comment chaque matériau émet de la lumière indirectement.

Qu’est-ce que Lumen ?

Lumen

Lumen no es más que lo que llamamos un algoritmo de Ray Tracing por software, pero tal nombre da a la confusión debido a que la primera conclusión que se saca de ello es que se trata de un programa en la CPU realizando el trazado de rayos cuando ce n’est pas comme ça. En fait, n’importe quel GPU peut exécuter l’algorithme via le logiciel qui exécute ses cœurs, appelés programmes de shader. Le problème, comme en rastérisation, vient d’un point précis, le calcul de l’intersection entre les rayons et la scène.

La solution au niveau matériel a été d’ajouter un petit morceau de matériel dans chacun des cœurs GPU pour effectuer cette tâche, le problème est qu’ils permettent l’utilisation du Ray Tracing comme aide à la rastérisation, pour exécuter une série d’effets d’éclairage global très simple. De plus, le lancer de rayons, par opposition à la rastérisation, nécessite l’utilisation de structures de données arborescentes complexes, ce qui réduit considérablement la vitesse à laquelle les calculs d’intersection peuvent être effectués.

La solution Epic passe donc par un système qui n’utilise pas une telle structure de données et c’est là que se trouve la clé. Puisqu’en réalité l’algorithme a été conçu pour les consoles de nouvelle génération, qui, bien qu’elles disposent d’unités spécialisées pour exécuter les calculs d’intersection, présentent une série de difficultés dues aux limitations de l’architecture RDNA 2.

Le lumen est-il meilleur que le lancer de rayons ?

La réponse est directement non, et cela n’est pas dit par nous, mais par Epic lui-même et c’est que le niveau de précision de l’éclairage global qui peut être atteint avec Lumen est limité, car nous devons tenir compte du fait qu’il s’agit d’une solution conçue pour la création de jeux vidéo, où la vitesse de rendu est la clé. Donc au niveau de détail ce n’est pas si bon, mais il y a des parties dans Lumen cela équivaudra au Ray Tracing et, par conséquent, il sera préféré à cela car il est plus léger à exécuter et nécessite moins de ressources de notre système.

PS5, Xbox Series et RDNA 2 : limitations

Couverture SoC PS5 Xbox

L’engagement d’AMD envers le Ray Tracing est venu avec l’architecture RDNA 2, qu’ils ont réussi à placer dans de nombreux endroits et où l’un des chevaux de bataille a précisément été la mise en œuvre de cette technologie dans leurs GPU deux ans après NVIDIA. Cependant, ils l’ont fait avec certaines limitations dans leur mise en œuvre : le parcours de l’arbre BVH qui stocke les informations de la scène n’est pas effectué par l’unité d’intersection.

Il s’agit d’une énorme réduction des performances, ce qui rend le RX 6000 moins performant lorsqu’il s’agit d’appliquer de tels algorithmes. Heureusement, du nouveau matériel sort sur PC chaque année, mais qu’en est-il des consoles ? Il s’agit de cinq années complètes avec le même matériel et les mêmes limitations matérielles. D’où l’existence de Lumen, c’est une solution pour apporter un éclairage global aux consoles PlayStation 5, Xbox Series S et Series X sans que sa puissance limitée ne soit un étouffement pour elle.

Et que se passe-t-il sur le PC ? Lumen sera utilisé dans une multitude de jeux sur console, car Unreal Engine 5 sera largement utilisé et ces jeux seront intégrés à l’ordinateur avec peu de changements. Malgré le fait qu’il s’agisse d’une technologie conçue pour les limitations du Ray Tracing de RDNA 2, cela ne signifie pas qu’elle est exclusive à AMD.

Related Articles

Leave a Comment