|
| Comprendre la 3D : Truform et High Order Surfaces | | Auteur : JF Maquiné | Dernière révision : 02 Mars 2002 |
|
| | |
Lorsqu'on veut représenter un personnage ou objet en 3D dans un système temps réel, on utilise la technique de tesselation, c'est-à-dire qu'on va représenter notre personnage avec des polygones (triangles ou rectangle généralement). Ainsi, un nez peut être représenté par 3 triangles. Evidemment, un tel nez sera plutôt moche. Pour obtenir un nez plus joli, il faut augmenter le nombre de polygones qui le définissent, mais à moins d'utiliser des milliers de polygones, le nez aura toujours un aspect anguleux.
Pour résoudre ce problème, il existe une technique générale nommée HOS, High Order Surface, qui permet de représenter un triangle, non plus comme une surface plate, mais légèrement courbée.
HOS est un terme générique qui regroupe en fait les différentes technologies qui permettent ce genre d'effet. Nous allons étudier l'une d'entre elles : le Truform utilisé par ATI sur ses cartes 8500 et supérieures.
Bonne lecture. |


| | |
Avant de voir comment fonctionne le Truform, nous allons voir à quoi servent les technologies HOS et donc l'enjeu qui est derrière.
Les développeurs de jeux peuvent utiliser les HOS soit pour augmenter la qualité graphique des objets et personnages, soit pour augmenter la vitesse d'exécution du jeu.
La qualité Augmenter le nombre de polygones, et donc la tesselation qui définit les objets et personnages, permet de leur donner un aspect moins anguleux. Le réalisme s'en trouve accru, mais cela va avoir une conséquence fâcheuse. C'est l'ensemble de la machine qui va être sollicitée, pas seulement la carte graphique.
Les technologies HOS comme le Truform permettent justement d'augmenter le nombre de polygones des objets et personnages d'un jeu existant sans augmenter le nombre de sommets qui les définissent. Grâce au HOS, on augmente donc le réalisme des objets et personnages sans faire appel aux ressources de l'ensemble de la machine. Seul le processeur graphique devra faire plus de calculs en exécutant les fonctions mathématiques de la technologie HOS utilisée.
La performance Si l'augmentation de qualité est une des premières applications du Truform, on peut aussi l'utiliser pour augmenter la vitesse d'exécution du jeu en conservant la qualité existante.
En utilisant la technologie HOS, on va pouvoir diminuer le nombre de sommets (vertices) et donc soulager le travail de l'ensemble de la machine. Bien que le gain ne soit pas énorme, cette autre façon de voir l'utilisation des technologies HOS peut être utile pour des machines un peu anciennes qui ne disposent pas forcément de la puissance nécessaire, mais dont la carte graphique a été changée (changer de carte graphique étant nettement moins coûteux et plus facile que de changer de machine complète).
Toutefois, le gain reste modeste, car les technologies HOS n'ont pas pour objectif de se substituer aux sommets qui définissent les objets. Ainsi, si vous souhaitez passer d'un modèle de monstre à 4 bras à un modèle à 16 bras, les technologies HOS ne seront d'aucune utilité. Effectivement, la complexité de base d'un objet ou personnage sera toujours dépendante d'un nombre de sommets minimum. |

| | |
Le Truform a été mis au point par ATI et est implanté dans ses processeurs graphiques R200 et ultérieur équipant les cartes graphiques Radeon 8500LE, 8500, 8500XT et ultérieur. Dans ce chapitre, nous allons voir les différentes étapes du Truform.
Les différents graphiques proviennent d'une démonstration disponible sur le site d'ATI. Vous n'avez pas besoin d'une carte ATI 8500 pour la voir fonctionner. Allez à la page
1 - On part d'un objet ou personnage de base disposant d'une tesselation minimum représentée en fil de fer. On parle de représentation en fil de fer quand on n'a pas encore appliqué les textures sur l'objet ou le personnage.
2 - Les algorithmes mathématiques de la technologie Truform du processeur graphique font générer des points supplémentaires sur les droites reliant les différents sommets.
3 - En reliant les points comme décrit sur l'image ci-dessous, on augmente le nombre de polygones (dans ce cas des triangles) donc le niveau de tesselation ou encore l'ordre de tesselation. Ceci a pour effet d'augmenter la définition géométrique du personnage. Résultat de l'augmentation sur la deuxième image.
4 - On surélève légèrement sur les points créés par la première étape du Truform pour courber légèrement la surface. Evidemment, dire qu'on surélève légèrement, ce n'est pas très précis. En fait, la surélévation dépend des flèches indiquées sur le graphique ci-dessus. Ces flèches sont appelées des 'Normales' d'où le nom technique du Truform : N-patches. Plus ces flèches sont inclinées pour la surface qu'elles définissent sera courbée. On obtient le résultat général pour 1 triangle décrit par la figure ci-dessous.

Résumé : L'application du Truform se fait en 2 étapes. La première consiste à augmenter le nombre de polygones ou l'ordre de tesselation, la seconde à générer une courbure sur le polygone dont on augmente la tesselation.
Complément 1 : Sur les graphiques ci-dessus, la technologie Truform ajoute deux points entre chaque droite reliant les sommets d'un triangle. En fait, on n'est pas limité à deux points, on peut très bien n'en mettre qu'un seul ou plus. Le nombre de points est une des variables de la technologie Truform et définit l'ordre (le niveau) de Truform qu'on souhaite obtenir. Certains logiciels comme le jeu Serious Sam permettent de modifier cette variable. Plus le nombre de points que doit générer le Truform est élevé, plus le processeur graphique aura du travail, mais plus jolis seront les effets.
Complément 2 : Voici un exemple final d'une démonstration utilisant pleinement le Truform. Vous pouvez remarquer au passage que le Truform n'altère pas les effets d'éclairage, et au contraire les prend parfaitement en compte.
Cliquez pour agrandir
Sur le graphique ci-dessous, vous pouvez voir les mêmes dauphins, mais avec la représentation en fil de fer. On voit que la version avec Truform (dauphin du bas) a une tesselation beaucoup plus importante.
Cliquez pour agrandir
Si vous souhaitez en savoir plus sur le Truform, voici un article un peu plus mathématique provenant du site d'ATI :
|

| | |
Lors de la sortie des premières cartes graphiques ATI disposant de la technologie Truform, on a laissé croire que le Truform pouvait s'appliquer aux anciens jeux simplement par la création d'un petit patch. Ca a été le cas pour Counter Strike ou Serious Sam, mais en fait, il ne s'agit pas du vrai Truform.
Pour exploiter pleinement le Truform, il faut définir le maillage de façon à ce que son application soit optimale. Si on l'applique bêtement sur un modèle non prévu à cet effet, on obtient des résultats parfois aberrant comme cette cabine téléphonique du jeu Serious Sam 2.
J'avais écrit un mini-article à ce sujet en décembre 2001. Je vous invite à le lire ou le relire.
Mini-article sur le Truform |

| | |
La technologie HOS de Nvidia nommée RT-patches est basée sur le principe de surface paramétrable ou surface polynomiale, c'est-à-dire que la courbure entre 2 sommets d'un triangle ou d'un rectangle est définie par une équation polynomiale (un polynôme). Tandis que pour le Truform d'ATI, c'est la valeur de la normale de chaque sommet qui définit la courbure.
Techniquement parlant, le RT-patches est beaucoup plus évolué que le Truform et permet des courbures complexes qui ajoutent encore plus de réalisme aux objets ou personnages. Le hic, c'est que c'est aussi beaucoup plus complexe à mettre en oeuvre pour les développeurs et designers de jeux. D'une part, la définition d'une courbure par une fonction paramétrable n'est pas simple (ça prend du temps), ensuite cela implique un changement important dans les méthodes de travail.
C'est pourquoi beaucoup de programmeurs n'ont pas adhéré à cette technologie pour l'instant. L'apport du Truform est réel en ce sens qu'il permet au développeur d'utiliser cette technologie sans modification importante de leur méthode de travail traditionnel, sans un investissement en temps important. Au final, dans la majorité des cas, si le Truform est bien utilisé, la différence de qualité avec des technologies HOS à surface paramétrable n'est pas très importante. Donc, l'investissement en temps pour les utiliser n'est pas forcément justifié, du moins pas encore.
Les technologies HOS sont des outils, et comme tout outil, il est possible de concevoir des améliorations pour l'utiliser plus facilement. Pour l'instant, le Truform est la forme de HOS la plus aboutie dans le rapport gain en qualité / temps passé, mais les surfaces paramétrables n'ont pas dit leurs derniers mots. |

| | |
Le Truform s'avère être une bonne idée, son principal handicap est que c'est une technologie dont le marché est essentiellement les jeux. Or, sur ce terrain, ATI n'a pas la même côte que Nvidia surtout auprès de développeurs, quoique cela pourrait changer au cours de l'année 2002 au regard des récents efforts que cette société fait.
Maintenant, admettons que le Truform soit adopté. On met aujourd'hui beaucoup en avant le gain qu'il offre en qualité, et cela me rappelle une autre technologie, la compression S3TC de la société S3. Nous avons tous été impressionnés par le gain en qualité que cette technologie offrait dans des jeux comme Unreal Tournament sur les textures. Ainsi, Wolfenstein, qui utilise le Truform, ne le fait pas pour accroître la qualité de ses personnages, mais pour diminuer la géométrie nécessaire pour les définir. C'est exactement ce qui est arrivé au S3TC, c'est-à-dire qu'on ne l'utilise pas pour le gain de qualité qu'il offre mais pour le gain en performance.
Toutefois, il existe une différence de taille entre Truform et S3TC. Cette dernière touche aux textures et donc à la bande passante des mémoires qui reste un des gros points noir des cartes graphiques alors que le Truform touche au processeur graphique qui lui n'est pas considéré comme un élément faisant goulot d'étranglement. Cette différence m'incite à penser que les développeurs seraient peut-être plus inspirés d'utiliser le Truform comme technologie permettant un gain de qualité que de performance.
Ainsi s'achève le second article de la série 'Comprendre la 3D'. Si vous avez des remarques ou commentaires, n'hésitez pas à utiliser le forum dédié à cet article. |

YOUM (analyseur syntaxique temps réel) | Nombre de définitions trouvées 52 Multi-dico par texte : actif - Multi-mots par définition : 4
|
|
|



 
|