Quake 2 s'allume en path tracing |
————— 07 Août 2017 à 07h09 —— 20202 vues
Quake 2 s'allume en path tracing |
————— 07 Août 2017 à 07h09 —— 20202 vues
Actuellement, les ombres dans les jeux vidéos sont en réalité une sorte de masque modifiant les textures alentours selon différents paramètres, précalculées pour la pluparts des objets. Cela constitue habituellement un bon compromis entre performance et qualité visuelle. Cependant, d'autres méthodes existent, nécessitant plus de ressources pour un rendu plus proche du photoréalisme, tel le lancer de rayon (le nom anglais passe bien mieux, ray tracing). Le concept consiste à calculer pour chaque pixel la somme des rayons de lumière arrivant depuis toutes les directions, comme c'est le cas dans la réalité. En effet, la lumière ne modifie pas vraiment la couleur de l'objet, elle s'y réfléchie avec plus ou moins d'intensité en ne gardant que certaine composantes. De plus, les lois physiques fournissent des formules simples pour calculer la diffraction de ces rayons, ce qui se traduit par le fait que les contours des ombres ne sont pas toujours nets. L'occulsion ambiante peut également être ajoutée à l'équation, car elle est directement liée à la diffraction.
Comme vous avez sûrement lu le titre, un brave homme du nom de Edd Biddulph a codé un rendu utilisant la technique path tracing (les rayons ne sont pas seulement émis depuis la caméra mais également des sources de lumières présentes) pour Quake 2. Et comme on l'attendait, c'est très gourmand, puisque le jeu tourne actuellement sur une... Titan Xp !
Youtube comprimant ses vidéos, vous trouverez une version sans perte à cette adresse. Le résultat est très polygonal étant donné le titre, mais les changements sur les lumières sont au rendez-vous et le titre fluide.
On remarquera de nombreux artéfacts, les images étant très bruitées. Cela est dû à la structure même de l'algorithme : puisqu'il est impossible de sommer tous les rayons, seulement un nombre fixe sont "lancés" dans des directions aléatoires, ce qui entraine des disparités de couleurs pour les pixels voisins d'une même surface. Certains filtres existent pour atténuer le problème, au détriment des performances cependant. De quoi apparaitre dans les moteurs 3D d'ici quelques générations de GPU ?
Un poil avant ?Gamotron • Nous aurons le destin que nous aurons mérité | Un peu plus tard ...Le Threadripper 1950X testé via l'Alienware Area 51 |