Le lancer de rayons est une technique de rendu d'infographie qui crée une image en traçant le chemin des rayons à travers une scène. Les rayons peuvent interagir avec les objets de la scène, rebondissant sur eux et acquérant des propriétés, telles que la couleur.
Ray Tracing: les bases
Le lancer de rayons émule l'éclairage du monde réel. La lumière que nous voyons est le résultat de photons émis par des sources d'énergie, comme le soleil. Les photons peuvent rebondir et se disperser lorsqu'ils entrent en collision avec des objets. Un miroir est tout ce dont vous avez besoin pour voir cela en action. La lumière frappant un miroir crée une réflexion.
Ray tracing simule cela. Le nombre de rayons tracés est dérisoire par rapport au monde réel, où des millions de photons rebondissent sur notre champ de vision. Les jeux modernes tracent quelque part entre un et quatre rayons par pixel. Pourtant, c'est suffisant pour simuler le monde réel.
Tracer la trajectoire d'un rayon lui permet également d'interagir avec le monde du jeu. Un rayon qui rebondit sur un objet rouge peut être influencé par cette couleur, projetant une lueur rouge à proximité. Les rayons peuvent se disperser de différentes manières en fonction des propriétés que les artistes d'un jeu donnent aux objets, permettant des surfaces réalistes semi-réfléchissantes ou rugueuses.
Le lancer de rayons est une avancée significative pour les graphiques 3D. Il crée une image réaliste en simulant la trajectoire des rayons lorsqu'ils se déplacent dans un jeu. Cela conduit à un éclairage qui peut interagir avec l'environnement même lorsque l'environnement n'est pas visible pour le joueur. Le lancer de rayons ne nécessite pas de matériel spécialement conçu pour fonctionner, mais il n'est pratique que sur une carte vidéo ou une console de jeu qui peut accélérer le lancer de rayons car il est très exigeant.
Ray Tracing vs. Rasterization (ou, graphiques 3D comme vous le saviez)
Vous pouvez toujours être confus même si vous comprenez cette explication. Les reflets étaient présents dans les jeux passés, même ceux qui datent maintenant de plusieurs décennies. En quoi le lancer de rayons est-il différent ?
Les anciens jeux 3D et la plupart des jeux modernes utilisent la pixellisation. La rastérisation combine les éléments d'un monde de jeu 3D visibles par le joueur dans une image 2D. Il ne rend que ce qui devrait être visible pour le joueur, car toute performance utilisée pour générer ce que le joueur ne peut pas voir est gaspillée. Cependant, cela crée un problème.
Reprenons l'exemple d'un miroir. L'environnement du joueur et le personnage du joueur ne sont pas visibles pour le joueur (du moins dans un jeu à la première personne). Avec la rastérisation, le miroir n'a rien à refléter.
Bien sûr, les miroirs existent dans les jeux modernes. Ils rendent la scène deux fois. Une passe est du point de vue du joueur, tandis qu'une autre est d'un point de vue différent. Cependant, cela double les performances nécessaires pour rendre une scène.
Les reflets de l'espace de l'écran, une technique des moteurs de jeux 3D populaires, utilisent des données à l'écran pour créer un reflet. Cette technique est idéale pour les surfaces réfléchissantes à un angle par rapport à la perspective du joueur, comme l'eau. Cependant, les objets réfléchis disparaissent si l'élément réfléchi se déplace hors de l'écran.
Le lancer de rayons ne partage pas ces problèmes car, contrairement à la rastérisation, il peut tracer en dehors de la perspective du joueur.
De plus, dans les jeux qui permettent aux rayons d'interagir avec les surfaces, le lancer de rayons peut afficher un saignement de couleur réaliste et des surfaces semi-réfléchissantes difficiles à gérer pour la rastérisation.
Quel matériel nécessite le lancer de rayons ?
Le lancer de rayons n'est pas une idée nouvelle. Les informaticiens ont expérimenté le lancer de rayons au début des années 1980, créant des images statiques avec un éclairage, des reflets et des ombres réalistes. Malheureusement, le rendu a pris des heures.
Un jeu vidéo nécessite un lancer de rayons en temps réel à 30 images par seconde ou plus. Cela n'est possible qu'avec une carte vidéo conçue pour accélérer le lancer de rayons.
Le traçage de rayons RTX de Nvidia repose sur du silicium appelé Tensor Core. Les Tensor Cores ne se trouvent que dans les cartes vidéo RTX. Les cartes GTX de Nvidia peuvent rendre un jeu en utilisant le lancer de rayons car, comme indiqué, le lancer de rayons ne nécessite pas de silicium spécialement conçu. Cependant, les performances sont catastrophiques par rapport aux cartes RTX. Et certains jeux, comme Minecraft avec traçage de rayons RTX, nécessitent une carte vidéo RTX en raison de la manière spécifique dont ils activent le traçage de rayons.
Les cartes AMD qui accélèrent le lancer de rayons n'ont pas de marque spécifique et n'ont pas de silicium dédié. Au lieu de cela, ils utilisent des ajustements matériels et des mises à jour logicielles pour de meilleurs résultats. Il est plus difficile d'identifier les cartes AMD qui accélèrent le lancer de rayons, alors faites attention aux détails.
La PlayStation 5 et les Xbox Series X et S de Sony disposent d'un matériel graphique d'AMD qui peut accélérer le lancer de rayons. C'est aux développeurs de l'activer, cependant, et de nombreux jeux ne le font pas. Un exemple notable est Cyberpunk 2077, qui prenait en charge le traçage de rayons RTX sur PC au lancement, mais ne prenait pas en charge le traçage de rayons sur les consoles de nouvelle génération. La fonctionnalité est promise pour les consoles de nouvelle génération dans un futur patch.