Introduction à la 3D
[20 mn de lecture - paru le 5/14/2004 6:18:05 PM - Public : Débutant]
|
   
|
Auteur
3. Les différentes API 3D
3.1. Direct3D
Sous le terme API se cache une série de librairies que l'on utilise afin de
prendre en charge les caractéristiques techniques de chaque carte 3D. Les API
servent donc d'interface entre le programme qui fait la demande d'une
instruction spécifique et la carte qui exécute cette demande. Il existe
principalement deux grandes familles d'API, DirectX de Microsoft et OpenGL. La
première est dédiée aux applications ludiques tandis que la seconde, que l'on
doit à Silicon Graphics, est avant tout connue dans le monde professionnel.
Malgré tout, de plus en plus de jeux en tirent parti. Actuellement, toutes les
cartes 3D sont capables de gérer ces deux standards.DirectX à été conçu par Microsoft,
dans le but de permettre d'obtenir des effets
semblables indépendamment du matériel. Cette API se compose entre autres de Direct-Sound, Direct-Draw, Direct3D, Direct-Connect et Direct-Play.
La partie qui nous intéresse ici est Direct3D. Prenons un exemple de programmation,
On affiche un cube et on applique dessus une texture en la lissant. Cette
opération qui est maintenant courante ne s'effectue pas de la même manière avec
toutes les cartes graphique. Sous D3D, l'API demande à la carte si elle
peut effectuer l'opération, si elle ne peut pas
l'opération est transmise a une routine qui tourne sur le processeur. Ainsi, si
une carte ne supporte pas toutes les fonctions D3D, ces dernières seront prises
en charge par le processeur.
On distingue 2 modes de fonctionnement de D3D : le Direct3D Retained Mode (Mode
mémorisé) est une API haut-niveau (l'application maintient les données
graphiques pour gérér la scène 3D), et le Direct3D Immediate Mode (Mode
immédiat) est une API bas-niveau (rendu de vecteurs).
3.2. OpenGL
OpenGL (OpenGraphics Library) est une API fournissant aux développeurs des
fonctions pour leurs applications 2D et 3D temps réel : modélisation d'objets,
éclairement, textures, gestion de caméras,etc...
Contrairement à D3D, pour être compatible OpenGL une carte doit supporter tous
les effets possibles par cette API. Développée par SGI (Silicon Graphics), elle
constitue le concurrent le plus sérieux de l'API DirectX de Microsoft. OpenGL
est un standard, contrôlé par l'ARB (Architecture Review Board), consortium qui
gère les modifications, les extensions, les nouvelles versions de l'API. On
compte parmi les membres de l'ARB des sociétés telles que IBM, Intel, SGI...
3.3. Glide
Glide est l'API propriétaire à 3Dfx et est donc apparu en même temps que les Voodoo. Lorsque ces cartes sont sorties, elles sont
restées leader (et seules) sur le marché pendant près de 2 ans. Ce n'est que fin
97 avec l'apparition des chipsets à base de Riva128 de nVidia, qu'elles ont
perdu ce monopole. Pendant deux ans, les jeux ont donc été programmé
principalement pour ces cartes, non pas avec un langage multicarte mais
directement avec le langage de la carte, le Glide.
La qualité graphique et la fluidité exceptionnelle en faisait la meilleure API
disponible pour le jeu, pour lequel elle a été spécialement développée. Il est
incroyablement rapide et le rendu est magnifique (les couleurs, même en 16 bits
sont sublimes). Cependant, il a peu évolué, et il a eu du mal à gérer les
derniers effets, les couleurs 32bits sont interdites, l'AGP n'est quasiment pas
géré, et les cartes concurrentes ont finit par être plus véloces que les 3Dfx.
Le GLIDE reste un coup de génie qui n'a pas su durer.
|