- ACCUEIL
- NEWS
- CARTES GRAPH.
- PROCESSEURS
- CARTES MERE
- CD/DVD-ROM
- STOCKAGE
- SON
- DIVERS
- LIENS
- FORUM
- LIVRE D'OR
- CONTACT
|
Théorie
La 3D expliquée
*** Le rôle de la carte graphique ***
A partir de là, tout le reste du travail est effectué par la cart
graphique. Et elle a du boulot, croyez-moi ! Le setup engine et le rendering
engine vont se décarcasser pour sortir une belle image sur votre moniteur.
- Le setup
Le setup engine de la carte se charge de "diviser" les polygones
en triangles, plus facilement manipulables et utilisables (setup). Ce procédé
appelé aussi tesselation est effectué par toutes les cartes graphiques. Pour
comparaison, une Voodoo 3 3000 possède un setup engine de 7 millions de triangles par
seconde. Un Pentium III 550, 4 millions et un GeForce 256, 15 millions !!
Plus un objet possède de polygones, plus celui-ci est détaillé, et donc s'approche de
la réalité. Des cartes comme le GeForce 256 pourront traiter 15 millions de triangles
par secondes, donc des scènes bien plus lourdes (et donc plus réalistes), sans perte de
temps.
- Le shading
La carte se charge ensuite de placer les ombres sur les polygones, en
fonction des sources de lumière. Trois types d'ombrage existent aujourd'hui, mais un seul
est utilisé :
Le flat shading (ombrage à plat), applique le même ombrage
sur toutes la surface d'un polygone. Il n'est plus du tout utilisé, du fait du mauvais
rendu visuel qu'il procure.
Le gouraud shading (ombrage de gouraud) : le lighting model
(les sources d'éclairage que le processeur a auparavant calculé) est appliqué à chaque
coin du polygone. Le reste est calculé par interpolation. C'est l'ombrage le plus
utilisé aujourd'hui.
Le phong shading (ombrage de phong) définit un niveau d'ombre
pour chaque pixel d'un polygone. Bien sûr, c'est le plus précis, mais aussi le plus
gourmand en ressources. Les cartes 3D grand public ne le gère pas, mais rassurez-vous, la
différence avec le gouraud n'est que très peu visible.
- L'application des textures
Vient ensuite l'application des textures sur ces triangles (travail
effectué par le rendering engine, ou moteur de rendu). Ben oui, un objet sans
textures n'est pas très réaliste. Plusieurs effets sont ensuite appliqués sur ces
textures, pour les rendre visuellement plus abouties. Voici quelques unes des fonctions
gérées parfaitement par les cartes 3D :
Environment Bump Mapping (Expendable)
|
Le mip-mapping : plusieurs tailles différentes sont
disponibles pour une même texture, afin d'éviter le phénomène de scintillement lors
d'une réduction trop élevée.
Le filtrage sert à enlever le phénomène de pixélisation quand on se
rapproche trop d'une texture. Il existe trois méthodes pour filtrer les textures : le bilinear
filtering qui crée des pixels intermédiaires dans une texture par interpolation (en
fontion des quatre pixels adjacents), le trilinear filtering (pour simplifier,
c'est une combinaison du
|
bilinear filtering et du
mip-mapping), et enfin, l'anisotropic filtering, qui tient compte de la
perpective. Les deux premières méthodes sont les plus utilisées, car présentes sur
toutes les cartes 3D. L'anisotropic filtering, n'étant présent que sur les
dernières cartes graphiques, et demandant beaucoup de ressources, n'est exploité que
dans très peu de jeux.
L'antialiasing (ou anticrénelage), sert à estomper les effets
d'escaliers des droites.
Peuvent ensuite être appliqués les effets de fogging
(brouillard), de lens flare (éblouissement du soleil), d'environment mapping
(réflexion de l'environnement externe), d'alpha blending (transparence), de bump
mapping (simulation de relief sur une texture par le biais des ombres), ou plus
élaboré, d'environnement mapped bump mapping.
|
Les cartes dernière génération gèrent aussi le multitexturing,
soit l'application de plusieurs textures en un seul cycle d'horloge. Jusqu'à maintenant,
seul le dual-texturing était géré (deux textures à la fois, par exemple la
texture de base, plus l'environment map), mais avec l'arrivée de cartes telles
que le GeForce 256 ou le Savage 2000, quatre textures pourront être appliquées en même
temps (quad-texturing).
- Le rôle de la mémoire
La mémoire, elle, se charge de stocker les textures en mémoire vidéo.
Evidemment, plus il y en a, plus la mémoire vidéo doit être importante pour stocker ces
textures. C'est là qu'intervient le bus AGP, et plus précisément, l'AGP texturing,
technique permettant de stocker le surplus de textures dans la mémoire centrale, et d'y
accéder rapidement. Pour un bus AGP 2x (en 32 bits) sur une carte mère BX non-overclockée
par exemple (donc bus système à 100 Mhz), le débit du bus AGP est :
2/3(100 Mhz)*32 bits*2 = 66*4 octets*2 = 528 Mo/s
Le débit d'un bus AGP 2x est donc de 528 Mo/s. Malheureusement, ce
débit, bien qu'il puisse paraître élevé, est bien loin de la vitesse à laquelle le
chip de la carte graphique accède à sa mémoire vidéo. Pour une TNT 2 standard par
exemple, la mémoire est cadencée à 150 Mhz, sur une interface 128 bits, ce qui nous
donne un débit de :
150*128 bits = 150*16 octets = 2400 Mo/s
Et encore, ce débit peut monter bien plus haut sur une TNT 2 Ultra. Le
bus AGP 2x n'est pas assez rapide, et c'est pour cela qu'arrive le bus AGP 4x, d'un débit
d'1 Go/s !! Bon, cela dit, peu de jeux exploitent plus de 16 Mo de textures pour une même
scène, et il vaut mieux utiliser le bus AGP plutôt qu'aller stocker les textures sur le
disque dur.
Enfin, dernier point en relation avec la mémoire, je veux bien sûr parler du S3TC (S3
Texture Compression). Cette technique, inventée par S3, est un ingénieux système
permettant de compresser les textures jusqu'à un ratio de 1 pour 6. Les textures,
habituellement au format 256*256, et donc se révélant très floue quand elles sont
grossies, vont pouvoir avoir une taille maximale de 2048*2048 pixels. Evidemment, sans
compression, c'est impossible à utiliser, la texture en 32 bits pèserait : 2048*2048*32
bits = 2048*2048*4 = 16 Mo, soit toute la taille de votre mémoire vidéo. En atteignant
un ratio maximal de 1:6, la texture ne pèserait "plus que" 2,6 Mo. C'est
pourquoi l'AGP 4x deviendrait ici très utile. Combiné à 32 ou 64 Mo de mémoire vidéo,
le S3TC devient très très très alléchant :))
Le S3TC en action dans un niveau spécial pour Unreal. Les images parlent
d'elles-même !!
|