L’univers du jeu vidéo va très bientôt connaître une nouvelle révolution graphique. Et ce sont deux géants de l’industrie qui vont s’en assurer.
Le premier, c’est Microsoft. Ce dernier annonce – à l’occasion de la GDC 2018 – une version spécifique de DirectX, DirectX Ray-Tracing (DXR). Comme son nom l’indique, cette nouvelle bibliothèque d’applications (API) a vocation à permettre aux développeurs et programmeurs de jeux vidéo d’utiliser le procédé de rendu/calcul d’une image, le ray tracing.
L’autre géant qui a à coeur de sublimer nos jeux, c’est Nvidia. Profitant de l’annonce de Microsoft, le concepteur de puces graphiques dévoile ses technologies Nvidia RTX, dédiées au ray tracing.

Moitié logicielles, moitié matérielles, ces technos sont, d’une part, incluses dans DXR ainsi que dans sa palette d’outils maison, le GameWorks et se trouvent, d’autre part, dans les éléments des puces Volta (comme celle de la Titan V) et des futures cartes à venir. Grâce à tout cela, il serait possible de générer du ray tracing en temps réel. Un détail qui a son importance au point d’être une petite révolution.

Grâce à ce procédé, demain, nos jeux seront presque aussi beaux que les films et séries haute définition que nous pouvons apprécier sur nos divers écrans. Oui, vous avez bien lu. Cela fait plus de 10 ans que nous entendons parler du « ray tracing rendering in real time » sans jamais avoir pu en apercevoir une application concrète… et surtout sans avoir entre les mains une carte graphique grand public qui soit capable de le prendre en charge. Il semble que l’heure soit enfin venue.

Nvidia annonce que des démonstrations effectuées sur les moteur Unreal Engine (Epic), Unity, Frostbite (EA) ou encore sur les outils de création 3D créés par les français d’Allegorithmic seront faites durant le salon GDC.

Le ray tracing est déjà sur vos écrans (mais vous ne le savez peut-être pas)

Le ray tracing, soyons francs, ce n’est pas du tout nouveau. C’est un mode de rendu que l’industrie du cinéma utilise beaucoup, souvent pour créer des scènes bourrées d’effets spéciaux dans lesquelles la caméra est fixe ou bouge peu.
L’essentiel de cette technique vise à jouer avec la lumière ou encore les ombres, afin de sublimer un bolide lancé en pleine course et d’incruster un grand nombre de reflets de lumières ou de fumées sur sa carrosserie en fonction, par exemple, de l’environnement extérieur.
Cette technologie sert également à matérialiser des vaisseaux spatiaux et projeter sur leurs carlingues des lumières rasantes, les ombres projetées, etc. Elle peut également être utilisée pour rendre des explosions époustouflantes et pourtant fictives dans certains films d’action.
En fait, et pour faire très simple, le ray tracing prend une bonne partie des principes physiques liés à la lumière qui régissent notre monde… à rebrousse poil.
Ce que capte l’oeil humain, ce sont tous les reflets lumineux qui se propagent ou rebondissent sur la surface des objets et lui parviennent. Ces informations sont alors interprétées sous formes d’ondes (couleurs) ayant plus ou moins d’intensité par notre mécanique interne (nerf optique, cerveau)

Le ray tracing, lui, fait en sorte de projeter des rayons lumineux depuis un point de vue donné (une caméra, un angle de vue) sur une image générée en 2D. Dès que les rayons rencontrent un objet ou une surface, un pixel se crée. Pour affiner et déterminer les propriétés de ce pixel (couleurs, textures, etc), d’autres rayons sont projetés vers les différentes sources lumineuses identifiées. Si ces derniers rencontrent des obstacles – comme d’autres objets – cela veut dire qu’il y a des ombres ou des reflets à prendre en compte ou à générer.

Cela permet de créer un environnement hyper réaliste avec des zones de lumière et d’ombre, des déformations optiques crédibles, des filtres plus ou moins opaques, de la transparence, etc. le tout avec une fidélité de couleurs et de rendu accrues. C’est l’application de toutes ces propriétés d’image qui délimite la profondeur à laquelle se trouvent les objets d’une scène par rapport aux autres et qui se chargent, in fine, de créer l’impression de 3D.

La rasterization, la technique la plus efficace à l’heure actuelle

Pourquoi n’utilise-t-on pas déjà le raytracing dans les jeux ? Bonne question ! Aujourd’hui, générer UNE simple image avec ce mode de rendu demande entre plusieurs minutes et -parfois- 10 heures de calcul à des machines garnies de processeurs et/ou de cartes graphiques dont c’est la spécialité. Alors imaginez le temps qu’il faudrait à nos petites cartes graphiques domestiques pour matérialiser, à la volée, au moins 30 images afin que la fluidité dans nos jeux vidéo soit assurée…

Aujourd’hui, on lui préfère le principe de rasterization, bien plus rapide et mieux assimilé/maîtrisé par nos cartes graphiques (via leurs unités dédiées, les rasterizers, notamment).
Pour faire simple, on part d’une image vectorielle en deux dimensions pour créer un rendu plein de triangles et polygones. Rendu qui est ensuite enrichi (couleur des pixels, lumières, effets, etc.) pour qu’il soit assimilé par notre oeil comme une scène 3D… projetée sur un écran (2D). Créer des environnements très réalistes est possible avec la rasterization, mais s’approcher d’un rendu cinéma (ou même « vivant ») est presque impossible.

Quelles cartes graphiques ?

Si les développeurs peuvent donc avoir accès à des outils prenant en charge le ray tracing dès à présent, Nvidia doit maintenant produire des cartes graphiques grand public capables de digérer ce nouveau procédé de création.
A l’heure actuelle, c’est simple, aucune ne peut prétendre assimiler un rendu ray tracing en temps réel. Seules les solutions pros le peuvent. Nvidia devrait normalement dévoiler de nouvelles cartes graphiques cette année, mais pour le moment, mises à part des spéculations et des rumeurs, rien ne permet de savoir quand elles vont arriver.

Et AMD ? Comme l’API de Microsoft est basée – somme toute – sur la base de DirectX 12, il existe donc des instructions logicielles exploitables (DirectCompute) dans cette bibliothèque pour qu’AMD puisse en tirer profit aussi et faire en sorte que l’une de ses prochaines générations de Radeon digère le DXR correctement. Le ray tracing en temps réel ne sera donc pas une exclusivité Nvidia. Ce (presque) nouveau et beau champ de bataille devrait néanmoins opposer les mêmes combattants.

Source :
Nvidia

Cet article a été importé d’un feed RSS, cliquez-ici pour voir l’article original