Nvidia RTX

Une carte graphique NVIDIA GeForce RTX 2080.

Nvidia GeForce RTX (Ray Tracing Texel eXtreme) est une plate-forme infographique professionnelle haut de gamme créée par Nvidia, principalement utilisée pour la conception de modèles complexes à grande échelle dans la conception architecturale et de produits, la visualisation scientifique, l'exploration énergétique, les jeux vidéo et la production de films et de vidéos. Nvidia RTX permet le lancer de rayons en temps réel. Historiquement, le lancer de rayons était réservé aux applications non temps réel (comme les effets spéciaux numériques pour le cinéma et dans les rendus photoréalistes), les jeux vidéo devant s'appuyer sur un éclairage direct et une contribution indirecte précalculée pour leur rendu. RTX facilite le développement en infographie de la génération d'images interactives qui réagissent à l'éclairage, aux ombres et aux reflets[1].

RTX fonctionne sur les processeurs graphiques basés sur les architectures Nvidia Volta, Turing et Ampere, qui utilisent spécifiquement les cœurs Tensor (et les nouveaux cœurs RT sur Turing et ses successeurs) sur les architectures conçues pour accélérer les calculs de lancer de rayons[2],[3],[4].

En mars 2019, Nvidia annonce que certaines cartes des séries GTX 10 (architecture Pascal) et GTX 16 (architecture Turing) permettront la prise en charge de sous-ensembles de la technologie RTX dans les pilotes à venir, bien que les fonctions et les performances soient affectées par leur manque de cœurs matériels spécifiques pour le ray tracing[5].

En octobre 2020, Nvidia annonce la sortie de la Nvidia RTX A6000, première carte graphique basée sur l'architecture Ampere destinée aux stations de travail professionnelles de la gamme Nvidia RTX et remplaçant la ligne des cartes professionnelles Quadro[6].

Nvidia travaille avec Microsoft pour intégrer la prise en charge de RTX à l'API DirectX Raytracing (DXR) de Microsoft. RTX est actuellement disponible via Nvidia OptiX et pour DirectX. Pour les architectures Turing et Ampere, il est également disponible pour Vulkan[7].

En plus du lancer de rayons, RTX inclut l'intégration de l'intelligence artificielle, des formats de données standards, la prise en charge de la rastérisation (CUDA) et des API de simulation. La plate-forme NVIDIA RTX comprend les composants suivants[8] :

  • fonctionnalités accélérées par IA (NGX) ;
  • formats standards (USD et MDL) ;
  • rasterisation incluant des shaders avancés ;
  • lancer de rayons via OptiX, Microsoft DXR et Vulkan ;
  • outils de simulation (CUDA 10, Flex, PhysX).

Lancer de rayons

[modifier | modifier le code]

Dans le domaine de l'infographie, la technique du lancer de rayons (ray tracing en anglais) permet de créer une image en traçant les rayons projetés à travers les pixels d'un plan de projection et en simulant les effets de leurs collisions avec des objets virtuels. Elle permet d'obtenir des effets avancés qui reflètent mieux les propriétés optiques du monde réel, comme les ombres et les réflexions plus douces et plus réalistes, en comparaison aux techniques traditionnelles de rastérisation qui favorisent les performances au détriment de la précision de rendu[9].

NVIDIA RTX y parvient grâce à une combinaison d'accélération matérielle et logicielle. Au niveau matériel, les cartes RTX sont dotées de "cœurs RT" à fonction fixe, conçus pour accélérer les opérations mathématiques nécessaires à la simulation des rayons, comme la traversée de la hiérarchie des volumes englobants. L'implémentation logicielle est ouverte aux développeurs d'applications indépendants. Le lancer de rayons étant toujours gourmand en ressources informatiques, de nombreux développeurs choisissent d'adopter une approche de rendu hybride dans laquelle certains effets graphiques, tels que les ombres et les réflexions, sont réalisés à l'aide du lancer de rayons, tandis que le reste de la scène est rendu à l'aide de la technique de rastérisation, plus performante[10].

Développement

[modifier | modifier le code]

API utilisant RTX

[modifier | modifier le code]

Nvidia OptiX

[modifier | modifier le code]

Nvidia OptiX fait partie de Nvidia DesignWorks. OptiX est une API de haut niveau, ou "to-the-algorithm", ce qui signifie qu'elle est conçue pour encapsuler l'ensemble de l'algorithme dont le ray tracing fait partie, et pas seulement les calculs de ray tracing eux-mêmes. Ceci rend le moteur OptiX capable d'exécuter l'algorithme global sans modification du côté de l'application.

Outre le rendu d'infographie, OptiX facilite également la conception optique et acoustique, la recherche sur les rayonnements et l'électromagnétisme, les requêtes d'intelligence artificielle et l'analyse des collisions.

Références

[modifier | modifier le code]
  1. Alwani, « Microsoft and Nvidia Tech to Bring Photorealistic Games With Ray Tracing », Gadgets 360 (consulté le )
  2. Atlavilla, « Nvidia And Microsoft Lay Foundation For Photorealistic Gaming With Real-Time Ray Tracing », Forbes (consulté le )
  3. « Nvidia announces RTX 2000 GPU series with '6 times more performance' and ray-tracing », The Verge,‎ (lire en ligne, consulté le )
  4. « Nvidia reveals $800 GeForce RTX 2080 at Gamescom 2018 », CNET,‎ (lire en ligne)
  5. (en) Sarkar, « Nvidia bringing new movie-quality graphics tech to GTX cards », Polygon, (consulté le )
  6. (en) Smith, « Quadro No More? NVIDIA Announces Ampere-based RTX A6000 & A40 Video Cards For Pro Visualization », www.anandtech.com (consulté le )
  7. « Turing Extensions for Vulkan and OpenGL », NVIDIA Developer
  8. « NVIDIA RTX™ platform », Nvidia
  9. Jefferies, « What Is Ray Tracing? (And What It Means for PC Gaming) », PCMag (consulté le )
  10. Nate Oh, « The NVIDIA Turing GPU Architecture Deep Dive: Prelude to GeForce RTX », AnandTech,‎ (lire en ligne, consulté le )

Liens externes

[modifier | modifier le code]