COMPTOIR
register

Quake 2 s'allume en path tracing

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

Les 16 ragots
Les ragots sont actuellement
ouverts à tous, c'est open bar !
par Cristallix, le Lundi 07 Août 2017 à 20h57  
Bon je viens de tester. Au final il utilise pas 100% de ma GTX 680 mais plutôt 80% et je pense pas que le CPU me bride. En basse résolution j'suis à 60 fps mais la qualité n'augmente pas. Soit j'ai raté un truc soit il y a encore du taf.
par Zia, le Lundi 07 Août 2017 à 19h29  
par Cristallix le Lundi 07 Août 2017 à 13h57
Fait un clic droit sur le lien et fait enregistrer la cible du lien sous (ou menu équivalent car je suis sur Firefox) pour ne pas le visionner directement sur le navigateur (surtout que bon, la vidéo fait 1.2Go)
Merci ca telecharge.
par Un ragoteur qui draille de British Columbia, le Lundi 07 Août 2017 à 18h56  
Il y a deja un projet dans ce genre basé sur le moteur octane render par OTOY:
https://home.otoy.com/render/brigade/

L'avantage de ce genre de moteurs de jeu, c'est que meme si pour l'instant ils ne sont pas viables du fait qu'il faille une configuration super elevee pour faire tourner des scenes simple, ils ont une demande en performance moins linéaire que les moteur directx.

En gros, pour passer de 100 000 a 200 000 polygones en directx, il faut grosso modo deux fois plus de performances, la ou en pathtracing, on peut multiplier par 100 le nombre de polys avant la meme degradation de performance. C'est due au fait que peu importe le contenu de la scene, le calcule depend des rayon envoyés sur la geometrie plus que de la geometrie elle meme et seul le niveau de bruit sera variable. Lorsque que 1/50 eme de seconde sera suffisant pour avoir une image claire, peut importe les niveau de detail, dirextX disparaitra, mais ce sera pas avant un moment.
par Cristallix, le Lundi 07 Août 2017 à 13h57  
par Zia le Lundi 07 Août 2017 à 13h34
En faite c'est quand je clique sur le lien que ca me mets ca.
La directement. Pas de telechargement proposer ou autre.
Ya pas de lien torrent?
Fait un clic droit sur le lien et fait enregistrer la cible du lien sous (ou menu équivalent car je suis sur Firefox) pour ne pas le visionner directement sur le navigateur (surtout que bon, la vidéo fait 1.2Go)
par Zia, le Lundi 07 Août 2017 à 13h34  
par Cristallix le Lundi 07 Août 2017 à 13h05
J'ai bien réussi à le télécharger et à le visionner. Par contre mon téléchargement s'est interrompu à la moitié. Regarde si ton fichier est bien complet
En faite c'est quand je clique sur le lien que ca me mets ca.
La directement. Pas de telechargement proposer ou autre.
Ya pas de lien torrent?
par Cristallix, le Lundi 07 Août 2017 à 13h05  
par Zia le Lundi 07 Août 2017 à 12h26
J'arrive pas à telecharger la video "à cette adresse". La video ne peut-etre visionnée car le fichier est corrompu
J'ai bien réussi à le télécharger et à le visionner. Par contre mon téléchargement s'est interrompu à la moitié. Regarde si ton fichier est bien complet
par Cristallix, le Lundi 07 Août 2017 à 12h36  
par Un #ragoteur déconnecté de Provence-Alpes-Cote d'Azur le Lundi 07 Août 2017 à 10h45
Dommage pour la géométrie pas mise à jour vu que le surcoût est dérisoire dans ce mode de rendu...

Vu le GPU utilisé et la résolution de sortie, c'est pas très performant en tout cas, la fluidité étant manifestement imposée par le "moteur", d'où le bruit très variable.
Dans un sens c'est génial comme rendu. Tu lui impose un temps de calcul et t'es plus tributaire d'être obligé de rendre une image correctement. Tu lui donne un temps et c'est tout. La précision dépendra après de la puissance disponible pendant le temps du rendu. Par contre aucune idée de si ça se scale bien avec plusieurs GPU.
par Zia, le Lundi 07 Août 2017 à 12h26  
J'arrive pas à telecharger la video "à cette adresse". La video ne peut-etre visionnée car le fichier est corrompu
par Un #ragoteur déconnecté de Provence-Alpes-Cote d'Azur, le Lundi 07 Août 2017 à 10h45  
Dommage pour la géométrie pas mise à jour vu que le surcoût est dérisoire dans ce mode de rendu...

Vu le GPU utilisé et la résolution de sortie, c'est pas très performant en tout cas, la fluidité étant manifestement imposée par le "moteur", d'où le bruit très variable.
par Deus, le Lundi 07 Août 2017 à 10h18  
Check a look (comme dirait Devolver Digital )

https://youtu.be/5olgFSYM_Kw?t=2m
par Nicolas D., le Lundi 07 Août 2017 à 09h01  
par PoRRas le Lundi 07 Août 2017 à 08h27
Par contre on voit que le ray tracing donne un effet de grain, ce qui veut dire qu'il va falloir le faire à une résolution supérieure à celle de l'affichage pour être potable, et niveau perf ça va être bonbon
Oui et non, la solution c'est d'augmenter le nombre de rayons partant de chaque pixel, même si au niveau des calculs ça revient au même que sur-échantillonner ici
par PoRRas, le Lundi 07 Août 2017 à 08h27  
Il va falloir un GPU pour la lumière et un GPU pour la géométrie
Par contre on voit que le ray tracing donne un effet de grain, ce qui veut dire qu'il va falloir le faire à une résolution supérieure à celle de l'affichage pour être potable, et niveau perf ça va être bonbon