ATI Radeon 8500

Publié le 16/10/2001 par et
Imprimer
SmartShader
Alors que le Radeon était un chip graphique qui était avant tout destiné à DirectX 7.0, le Radeon 8500 est destiné à DirectX 8.0. ATI a même été plus loin en intégrant dans ce chip la technologie SmartShaders, qui est incluse dans DirectX 8.1.

En fait, on retrouve sous ce terme assez barbare les fameux Vertex et Pixels Shaders, qui n’étaient gérés jusqu’alors que par la GeForce3. Pour rappel, les Shaders sont en fait de petits programmes qui peuvent être exécutés par le GPU, et dont le but est d´agir sur les données associées aux vertices (affecte la forme et la position des objets) dans le cas des Vertex Shaders ou à celles des pixels (affecte la couleur et l’éclairage des objets) dans le cas des Pixels Shaders.


Si les Vertex Shaders n’ont pas évolués depuis DirectX 8.0 et la GeForce3 (v1.0 et 1.1), ce n’est pas le cas des Pixel Shaders. En effet, alors que DX8 et la GF3 ne les géraient que dans leurs versions 1.0 et 1.1, DX8.1 et la R8500 offrent de nouvelles possibilités via les Pixel Shaders v1.4.

Parmi les améliorations, on peut noter le fait d’utiliser 6 textures pour un même Shaders, contre 4 auparavant, ou encore d’avoir des Shaders d’une longueur pouvant atteindre 22 instructions, contre 16 auparavant.

Il est donc possible d’effectuer des effets qui ne peuvent être faits qu’en single pass (attention, une passe ne veut pas dire un cycle), et qui ne sont donc pas réalisables avec un Pixel Shaders de type DirectX 8.0. C’est notamment le cas du Per-Pixel Phong Shading ou de l’Horizon mapping, qui est une forme sophistiquée de Bump Mapping permettant aux hauteurs de générer leur propre ombre. Il est également possible de combiner plusieurs Bump Mapping, ou encore d’avoir jusqu´à 4 sources de lumières avec un Bump Mapping.
Truform
L’autre grosse innovation incluse dans le R8500, c’est le TRUFORM. Il s’agit en fait d’un nouveau type de primitives supportées par DX8 et OGL, les High Order Surfaces. Il existe deux principaux types de HOS, et le R8500 en supporte un : les N-Patches, alors que le GeForce3 supporte de son coté les RT-Patches.

Pour faire simple, sachez qu’un triangle traditionnel est composé de trois vertices (sommets) et d’une normale pour chacun de ces vertices. Cette normale définit notamment l’angle de réflexion des sources lumineuses. Avec les N-Patches, ces normales vont en fait être utilisées par le GPU afin de transformer la surface plane du triangle en surface courbe via l’utilisation des courbes de Bezier.


Un modèle de Half Life avec et sans Truform

L’économie en bande passante AGP est évidente. En effet, grâce aux N-Patches les informations géométriques à envoyer au GPU sont beaucoup moins lourdes que si l’on envoyait un nombre de triangles offrant une qualité équivalente. En effet, il suffit de transmettre au GPU N-Patches, puis de lui indiquer un niveau de Tesselation (phase qui consiste en fait à transformer les N-Patches en un nombre plus ou moins importants de triangles traditionnels) plus ou moins important, selon la qualité désirée.

Autre avantage, contrairement aux RT-Patches de NVIDIA les N-Patches sont assez faciles à utiliser et à appliquer aux modèles 3D actuels, et surtout ils sont compatibles avec les cartes graphiques ne les supportant pas. Ainsi, si votre carte 3D ne supporte pas les N-Patches, ce dernier sera traité comme un triangle traditionnel (seules les informations des trois vertices seront utilisées). En pratique, il faut toutefois que certains modèles soient retravaillés, sans quoi certains objets peuvent être déformés, comme c’est le cas des armes dans Serious Sam par exemple.
Vos réactions

Top articles