ATI se passe du vertex texturing en démo

Publié le 30/03/2006 par
Imprimer
Démos ATI
Parler de la possibilité d´une technique différente qui offre un éventail d´effets plus large c´est bien, encore faut-il pouvoir le prouver. Aucun jeu ne fait appel au R2VB d´ATI et aucune démo n´était disponible jusqu´à ce jour, mais ATI vient de mettre le paquet puisque pas moins de 12 démos viennent de faire leur apparition. ATI entend donc bien prouver les propos avancés pour justifier l´absence du vertex texturing.


Cette démo représente une déformation de terrain similaire à celle que l´on peut voir dans la démo de Nvidia avec en plus la possibilité de faire du morphing, c´est-à-dire de déformer le terrain progressivement d´un modèle vers un autre.


Cette seconde démo représente un rendu d´eau avec déformation de la géométrie, similaire à ce qui est fait dans la démo de Nvidia ou dans Pacific Fighters. Pour ce genre de rendu, 2 phases sont nécessaires : calculer la position des vagues dans une texture (ou plusieurs textures) et appliquer ces résultats sur les vertices (displacement mapping) et sur les pixels (normal mapping). Grâce au R2VB, il est possible de traiter entièrement le rendu sur le GPU en faisant rentrer directement les données de la première partie qui sortent des pixel shaders, dans les vertex shaders pour le traitement de la seconde. Sans R2VB il faut exécuter la première partie et la renvoyer au système qui va ensuite la réinjecter (par exemple comme texture utilisable en vertex texturing) pour le reste du rendu.


La troisième démo est elle aussi similaire à la démo de Nvidia bien que beaucoup plus simple et consiste donc au rendu d´un tissu qui bouge suivant le vent et ses propriétés physiques, en s´adaptant bien entendu à la forme de l´objet s´il en rencontre un. Il s´agit ici aussi de physique d´effet.


Il s´agit ici d´animer un nombre très élevé d´éléments, des personnages dans ce cas. Le R2VB permettrait de faciliter fortement ces animations puisque les données de l´animation peuvent être injectées directement dans le flot de vertices au lieu d´être amenées via un nombre énorme de constantes qui compliquent le rendu et réduisent les performances (elles nécessitent beaucoup d´appels à l´API, ce qui consomme du CPU). Sur une Radeon X1900 XTX, dans cet exemple, on peut animer plus de 10.000 personnages en restant à 30 fps !


Cette démo fait appel à une technique de détection de collision de particules toujours en se basant sur le R2VB. Chaque flocon de neige peut ainsi rebondir d´une manière réaliste contre le terrain d´après différents paramètres (dans notre exemple ils réagissent d´ailleurs plus comme des balles de ping pong que comme des flocons de neige). Le terrain est également rendu grâce au R2VB et est entièrement déformable. Il s´agit ici aussi de physique d´effet comme le permet Havok FX.


Vous vous souvenez du Truform d´ATI ? Cette technique qui permettait d´augmenter les détails géométriques (ou de rendre tout rond quand mal utilisé) a été introduite avec la Radeon 8500 puis rapidement supprimée du GPU et émulée via le CPU par manque d´intérêt des développeurs pour finalement complètement disparaître. Cette démo utilise le R2VB pour réaliser, de la même manière, de la tesselation (N-Patches). Le premier screenshot représente le modèle original, le second avec un niveau de tesselation 9 (chaque triangle devient 9 petits triangles) et avec un niveau de tesselation 64. La technique fonctionne sans problème dans un environnement dynamique, sur des objets qui se déforment bien que la démo se limite ici à un objet statique.


Des pas qui se creusent dans la neige cela fait longtemps que l´on en parle, mais on n´avait pas encore vu de rendu convaincant de cet effet. ATI vient de le faire avec cette démo qui grâce au R2VB est capable de déformer la géométrie du sol pour y marquer les pas et passages dans la neige. Cette démo peut en partie être vue comme de la physique d´effet.


Ici il s´agit d´un rendu d´un nombre très élevé de particules grâce au R2VB : plus de 780.000 à 60 FPS dans notre exemple. Chaque particule dispose d´une durée de vie aléatoire, d´une vitesse et d´une direction auxquelles est appliquée la gravité de manière à leur donner un mouvement réaliste. Il s´agit donc aussi en partie de physique d´effet.


3 autres démos se basent sur le R2VB pour un rendre des shadows volumes en faisant moins appel au CPU, pour faire de la cinématique inverse et du rendu d´eau dans une version différente de la précédente.


Démonstration faite
ATI a donc bien démontré que le R2VB permet de réaliser d´une autre manière ce que le vertex texturing permet de faire et peut-être plus encore puisque les démos sont très variées et débordent souvent vers la physique d´effet. Bien entendu ce n´est pas parce que Nvidia ne propose pas de démos pour tous ces effets que les GeForce sont incapables de les traiter. Si Nvidia voulait l´implémenter, il est d´ailleurs probablement possible que le R2VB puisse fonctionner sur les GeForce comme sur les Radeon, mais vu l´absence de jeu qui l´exploite et le fait qu´il ne fasse pas partie des spécifications de DirectX alors que le vertex texturing en fait, lui, partie, il paraît évident que stratégiquement Nvidia n´a aucun intérêt à implémenter le R2VB.

Au final si les différentes approches rendues possibles grâces au R2VB sont prometteuses, son introduction est arrivée un petit peu tard. On peut d´ailleurs regretter qu´ATI ait attendu de devoir se justifier de l´absence de vertex texturing pour l´implémenter et le mettre en avant tant les possibilités d´utilisation semblent nombreuses. Si le R2VB avait été mis en avant à la sortie des Radeon 9700, gageons qu´il serait utilisé dans les jeux aujourd´hui. Est-ce que les jeux utiliseront le R2VB à l´avenir ? En jouant de la boule de cristal, nous pouvons supposer qu´il est trop tard pour que les jeux de cette génération, c´est-à-dire DirectX 9, s´y intéressent, peut-être à quelques petites exceptions près. Par contre le R2VB pourrait être un fallback intéressant, autrement dit une solution de secours pour les GPU actuels face à certaines techniques de rendu DirectX 10 qui à la base ne pourront fonctionner que sur les GPU DirectX 10.
Vos réactions

Top articles