Ray Tracing

NGT

PILOTE PRO
Messages
264
Réactions
140
Points
48
Utilisez vous le ray tracing sur xplane 11 et si oui quelles sont les améliorations apportées par les cartes graphiques qui performent ce truc là ?
 
Salut !
Utilisez vous le ray tracing sur xplane 11

De mémoire , pas de ray tracing sur X-Plane 11 et sans doute pas sur X-Plane 12 !

25 Aout 2018 sur le blog dev :

Sidney Just :
Nvidia a annoncé ses dernières cartes graphiques bitcoin le 20 août à la Gamescom de cette année. Parmi l'augmentation habituelle des transistors, ils ont également déçu tous les mineurs de crypto en ajoutant une fonctionnalité qui ne peut pas (encore) être utilisée pour calculer les hashs cryptographiques : le Ray Tracing ! Le ray tracing a longtemps été considéré comme une sorte de Saint Graal du rendu graphique, car il est beaucoup plus proche de la reproduction du monde réel que la rastérisation et l'ombrage traditionnels. Cependant, faire du ray tracing en temps réel a été presque impossible jusqu'à présent. Mais Nvidia vient d'annoncer ses nouveaux GPU RTX qui peuvent le faire, alors quand X-Plane aura-t-il un moteur de rendu ray tracing ? Nous répondrons à cette question et à d'autres questions posées par des utilisateurs de X-Plane, ainsi qu'à certains mythes ! Si vous avez une question qui n'est pas traitée ici, n'hésitez pas à la poser dans les commentaires.
Ce que Nvidia a montré est absolument impressionnant. Malheureusement, les petits caractères de tout le battage marketing sont que, malheureusement, il ne peut pas simplement être jeté sans effort d'ingénierie. La première chose nécessaire est un matériel RTX réel, que personne chez LR ne possède actuellement. La deuxième chose nécessaire est une application basée sur Vulkan ; nous y arrivons, mais pas d'une manière qui supporterait RTX. (le but entier du moteur de rendu Vulkan est de ne pas changer la façon dont le monde se présente, donc nous aurons d'abord besoin d'un moteur de rendu Vulkan de production). Mais ensuite... et bien, ce n'est pas tout à fait clair ce qu'il faut pour écrire réellement un moteur de rendu ray traced dans tous ses détails. Nvidia n'a pas encore publié les spécifications de l'extension Vulkan (VK_NV_raytracing), mais a publié des diapositives de présentations. Une chose est très claire : il ne suffit pas de copier-coller cinq lignes du code d'exemple de Nvidia pour se réveiller soudainement dans un monde de ray tracing.
Ce que Nvidia fournit, c'est l'échafaudage nécessaire pour décrire une scène, ainsi que pour fournir de nouveaux types de shaders qui permettent de lancer des rayons d'un point A à un point B et de rapporter ce qu'ils ont touché en cours de route. C'est une énorme quantité de travail que le matériel fournit ici, mais ce n'est pas la promesse "5 lignes et vous aurez le ray tracing dans votre application" qui est faite. Pour adopter le ray tracing, vous devrez écrire tout le ray tracer vous-même, à partir de zéro ; le matériel vous permet simplement de le faire maintenant. Cela s'apparente à la mise en œuvre du HDR ou du PBR : les nuanceurs sont la condition de base pour les mettre en œuvre, mais une fois que vous avez des nuanceurs, vous devez encore mettre en œuvre le HDR ou le PBR par-dessus. Un autre exemple est la construction d'une maison et la fourniture d'un terrain qui peut la supporter. Bien sûr, c'est génial, vous avez maintenant un endroit pour construire votre maison, mais vous devez encore créer un plan, choisir les matériaux à utiliser et ensuite construire réellement la chose. La mise en œuvre du ray tracing nécessitera de gros efforts d'ingénierie, personne n'offre gratuitement de superbes reflets à l'achat d'une RTX2080Ti !
L'autre chose qui n'est pas tout à fait claire, c'est la performance du ray tracing dans un environnement comme X-Plane ! Les mondes dans X-Plane sont immenses et ouverts, pas des petites scènes d'un jeu de tir avec un espacement serré. De nombreux rayons sont nécessaires, et ils doivent parcourir de grandes distances, en croisant potentiellement de grandes quantités de géométrie. Dans quelle mesure le matériel et l'API s'adaptent-ils à ces tailles ? Seul le temps nous le dira. Bien sûr, il ne s'agit pas de diminuer la réussite de Nvidias, c'est un exploit technologique incroyable en soi et ce n'est que la première génération !
L'autre chose qui mérite d'être mentionnée est que le ray tracing n'est pas seulement quelque chose que Nvidia a secrètement conçu dans son sous-sol pendant une décennie. Il s'agira d'un projet à l'échelle de l'industrie, avec des API qui fonctionneront avec tous les fournisseurs ! Historiquement, un fournisseur a toujours proposé une nouvelle façon de faire les choses qui est ensuite devenue la norme adoptée par les autres fournisseurs. Nvidia s'est présenté et a proposé son extension comme base pour une extension Khronos principale pour Vulkan. Ils ont tout intérêt à rendre disponible une API multi-fournisseurs et multi-plateformes.
Dans un avenir prévisible, il est peu probable que les systèmes de rendu par traçage de trame aillent quelque part. Pour l'instant, le ray tracing peut plutôt être utilisé pour des effets supplémentaires difficiles à obtenir autrement. Il est clair que Nvidia le reconnaît également en fournissant un moteur de rastérisation traditionnel qui, à lui seul, est plus puissant que ceux de la génération précédente. Cela signifie également que si X-Plane devait adopter le ray tracing demain, vous pourriez toujours l'exécuter sur votre ancien matériel, vous obtiendriez juste un surplus de brillance si vous avez un matériel capable de ray tracing.
Enfin, c'est une autre raison pour laquelle vous devriez rester loin des shaders ! Un jour, nous nous réveillerons dans le glorieux futur de Vulkan, qui ouvrira la porte au glorieux futur du ray tracing. Tout cela signifie que nous devrons continuer à changer nos shaders.

Mise au point de Ben Supnik :
Je pense que cet article de blog est un peu trompeur sur la technologie du ray tracing en temps réel.
1. Par définition, tout ce qui est ray tracing en temps réel sur les nouveaux GPU a un traitement de culling - le matériel de culling est _intégré dans le GPU_. C'est tout l'intérêt de ce nouveau matériel - nous obtenons des collisions de rayons à fonction fixe dans le matériel et NV peut accélérer cela en y injectant plus de transistors à l'avenir, ou en utilisant de meilleurs algorithmes. Mais ne nous faisons pas d'illusions, cette "scène géante" est découpée comme une scène rasterisée. (Et notez que beaucoup de moteurs 3D basés sur la rastérisation font du "culling" sur le GPU et ce depuis quelques années maintenant - voir la démo Froblins d'AMD il y a quelques temps).
2. Il est impossible de commenter ces résultats via une vidéo youtube car la compression de la vidéo rend impossible l'évaluation de l'anti-aliasing et de la stabilité temporelle. (La stabilité temporelle et l'anti-aliasing peuvent être fantastiques et c'est juste le codec vidéo qui mâche les choses). Mais naïvement, si vous allez tirer des rayons sur un arbre avec un million de triangles et que l'arbre est "vraiment vraiment petit", vous avez trois choix :
- Tirer BEAUCOUP de rayons par pixel pour anti-aliaser l'arbre. Cela sera lent - votre FPS diminue proportionnellement à toute la géométrie sous-pixel que vous essayez de rendre. C'est parfait pour les rendus de films en temps non réel, mais pas pour un jeu.
- Tirez un seul rayon - il sera aliasé au fur et à mesure que la caméra se déplace et les légers mouvements de caméra changent la feuille que vous frappez. Il en résulterait un scintillement et un chatoiement.
- Utilisez une sorte de géométrie proxy lorsque l'arbre est éloigné (par exemple, un panneau d'affichage avec une photo de l'arbre). C'est la solution standard pour les rasterizers et elle fonctionnerait aussi très bien pour le ray tracing.
Dans ces deux cas (culling, LOD), il s'agit de problèmes pour le ray tracing et la rastérisation - ce sont des problèmes difficiles et il n'y a pas de repas gratuit. Ainsi, le fait que je souligne que "c'est aussi un problème pour le ray tracing" ne diminue pas la valeur du matériel d'accélération du ray tracing. Au contraire, je suis tout à fait favorable à ce que le culling soit confié à une unité à fonction fixe - c'est un problème de rendu central et j'aime que quelqu'un d'autre investisse une tonne de ressources dans une unité spécialisée pour faire mieux que moi*.
Mais ce genre de post "RTX va changer les lois de la physique pour le rendu" est trompeur ; il n'y a pas de repas gratuit ici.
Le moteur de X-Plane est conçu différemment des jeux de tir parce que nos scènes sont beaucoup plus grandes et nos angles de caméra plus variés ; cela sera vrai dans un monde rasterisé ou ray traced. Puisque (dans un monde ray traced hw) le culling est fait au moins partiellement par le GPU, il reste à voir si le culler matériel peut s'adapter à nos types de charges de travail.
* Typiquement, un shader de calcul exécute une passe de triage par rapport à un tampon de profondeur grossier et écrit des données de dessin direct en utilisant des écritures de shader non ordonnées avec des atomiques pour suivre les instances. C'est la version plus moderne d'un shader géométrique utilisé pour écrire des tampons d'instance et déposer des instances entières. Mon point de vue est que le culling _et_ le ray spawning sont tous deux similaires à la tessellation : lorsque le " nombre " de choses qui se passent varie, il est préférable de laisser les GPU faire leur propre matériel. D'où la rastérisation, la tessellation, le RTX dans le matériel. Les vertex et fragment shader sont des blocs d'entrée/sortie 1:1 et peuvent donc être envoyés efficacement aux fermes de calcul.

Traduit avec www.DeepL.com/Translator (version gratuite)
 
Merci à toi , çà confirme ce que j'vais lu , à droite , à gauche sur le ray tracing
 
Retour
Haut