Dans les jeux modernes, l’éclairage est roi et il n’y a jamais eu de chose plus merveilleuse que le lancer de rayons. Le lancer de rayons est une technologie ancienne, mais désormais largement disponible, qui restitue de manière réaliste la lumière et l’ombre pour créer des images presque réelles.
Jusqu’à récemment, chaque fois que nos cartes graphiques ou nos consoles de jeu devaient générer des visuels à envoyer sur nos écrans, elles utilisaient la rastérisation. Cette technique traduit les graphiques 3D en pixels 2D vus sur nos écrans, puis les shaders appliquent un éclairage. Mais le lancer de rayons est une approche alternative qui, bien qu’actuellement plus exigeante pour le matériel, peut générer des résultats visuels impressionnants en traçant littéralement chaque rayon de lumière virtuel. Nvidia propose une comparaison technique des deux technologies ici.
Éliminons cela dès le départ : le traçage de rayons est en fait un certain nombre de technologies différentes. Mais pour nos besoins, nous définissons le lancer de rayons en fonction des implémentations que nous voyons dans les jeux, là où cela compte le plus pour nous.
Comment fonctionne le lancer de rayons ?
Dans les jeux vidéo, le lancer de rayons est essentiellement un système de simulation de la façon dont la lumière se déplace, interagit avec divers objets de l’environnement et atteint finalement nos yeux. La lumière rebondit sur les choses, voyage à travers les choses, se plie et est parfois absorbée. Toutes ces interactions peuvent prendre beaucoup de travail pour simuler, mais c’est ce que le lancer de rayons essaie de faire dans la quête pour créer une image plus réaliste.
Epic Games a un tas de belles démonstrations d’effets de lancer de rayons côte à côte avec d’autres effets traditionnels dans son guide de lancer de rayons pour Unreal Engine. Vous pouvez également voir l’impact que cela peut avoir en ajoutant du réalisme même aux graphismes les moins réalistes dans notre comparaison côte à côte de Minecraft avec et sans lancer de rayons.
Maintenant, normalement, nous penserions que la lumière provient d’une source lumineuse et rebondit jusqu’à ce qu’elle atteigne finalement nos yeux. Mais une grande partie de cette lumière n’atteint jamais nos yeux et ne serait donc pas utile lors du lancer de rayons d’une scène dans un jeu vidéo, car elle resterait invisible. Ainsi, la mise en œuvre du lancer de rayons dans les jeux fonctionne à l’envers.
Les studios d’animation Walt Disney ont un belle démonstration visuelle de ce processus en action pour créer une animation 3D. Un rayon de lumière est projeté de votre point de vue et est envoyé dans la scène. Il peut toucher un personnage du jeu, un objet, ou peut-être s’envoler dans le ciel et interagir avec rien.
Selon ce qu’il frappe, un certain nombre de choses peuvent se produire. Si le rayon frappe un objet ou une surface réfléchissante, il rebondira et se dirigera vers autre chose. Si la surface était rugueuse à la place, elle peut toujours rebondir mais peut-être sous un angle différent ou même se diviser et se réfracter en plusieurs nouveaux rayons. Après quelques rebonds, si ce rayon touche une source de lumière, toutes les informations recueillies en cours de route sont transformées en pixel que le joueur verra sur son écran. Par exemple, si le rayon frappe un rocher gris à côté d’un mur vert, rebondit sur ce mur vert, puis frappe une source de lumière, le résultat peut être un gris avec une touche de vert.
En donnant aux objets du monde du jeu diverses propriétés matérielles, les jeux peuvent simuler ce comportement d’éclairage réaliste pour créer des visuels fidèles à la façon dont nous voyons les choses dans la réalité, où la lumière rebondit vraiment partout.
Cependant, il existe des facteurs de complication pour l’utilisation du lancer de rayons pour tout. Cela peut prendre beaucoup de rayons faisant beaucoup de rebonds pour obtenir une image complète. Cela peut signifier des millions, voire des milliards, de rayons à tracer juste pour comprendre ce qu’il faut montrer – quelque chose comme ça ralentirait le rendu et rendrait le lancer de rayons inutilisable pour les applications en temps réel comme les jeux. Ou cela peut signifier des rayons qui ne vont pas assez loin pour finalement atteindre une source de lumière.
Les jeux peuvent utiliser certaines solutions partielles, telles que s’appuyer sur la pixellisation pour créer la majeure partie de l’image, mais ajouter un peu de lancer de rayons pour créer des reflets ou des ombres réalistes. Une autre façon de pallier un manque d’informations visuelles est le débruitage. Le lancer de rayons bruts ressemble à un désordre pixélisé de points colorés individuels, mais le débruitage lisse intelligemment tout en mélangeant les couleurs ainsi que les différences de luminosité et d’obscurité. Vitrines Nvidia débruitage en action icidémontrant comment comble l’écart de qualité visuelle entre une image avec juste un peu de lancer de rayons et une autre avec beaucoup plus.
Qu’est-ce que tout cela signifie pour vous ?
Le lancer de rayons trouve sa place dans de plus en plus de jeux. Même s’il peut être très difficile de livrer, il faut cartes graphiques haut de gamme et chaque morceau de jus que les dernières consoles peuvent rassembler, cela peut fournir un énorme bond en avant dans la qualité graphique et éviter certains pièges des effets graphiques actuels.
Si cela ne vous dérange pas de prendre un coup sur les fréquences d’images, vous pouvez profiter du lancer de rayons dans un bon nombre de jeux en ce moment, mais pas dans la grande majorité. Il est probable que la technologie apparaîtra dans plus de jeux à l’avenir, d’autant plus que le matériel nécessaire pour réaliser des visuels par lancer de rayons devient plus accessible.
Mark Knapp est un contributeur régulier à IGN et un tweeter irrégulier sur Twitter @Techn0Mark