c. Exemple
DirectX n'est utilisé que pour le développement
de jeux vidéo même si de nombreuses applications comme les outils
de CAO (encore et toujours!) commencent à présenter une
implémentation de DirectX en plus d'OpenGL. Une des plus grosses boites
de développement utilisant grandement DirectX est
UbiSoft dont le dernier moteur, utilisé pour le jeu
SplinterCell, est celui d'Unreal (cité plus haut dans la section OpenGL)
mais rendu compatible DirectX12 et prenant donc en compte les dernières
implémentations de PixelShader3.0 et autres.
Figure II.6 : Exemple du produit de DirectX
[9]
II.3.2. OpenGL
a.
Caractéristiques
OpenGL (Open Graphics Library) est une spécification
qui définit une API multiplateformes pour la conception d'applications
générant des images 3D (mais également 2D).
Elle a vu le jour en 1992 pour succéder à la
bibliothèque de Silicon Graphics IRIS GL (SGI) qui était alors un
standard pour les ingénieurs, créateurs d'effets spéciaux
donc tout ce qui touche de près ou de loin à de la CAO
(Conception Assistée par Ordinateur).
L'expérience de SGI dans ce domaine a fait d'OpenGL une
interface facile d'utilisation, intuitive et surtout portable. Dans cette
équipe qui travaillait à l'origine sur une version similaire
à l'INRIA se trouvait le très célèbre Bui Tuong
Phong créateur de l'algorithme d'interpolation pour le lissage d'ombres.
Le projet Fahrenheit, initiative de Microsoft et de SGI, tenta
d'unifier les interfaces OpenGL et Direct3D. Celui-ci apporta au début
l'espoir de mettre de l'ordre dans le monde des APIs 3D, mais pour des
contraintes financières de la part de SGI, le projet dût
être abandonné. OpenGL est géré par un consortium
OpenGL Architecture Review Board (appelé également ARB) qui
détermine donc les modifications, ajouts et évolutions de la
norme OpenGL.L'ARB est composé de membres volants tels que ATI, Nvidia,
IBM, Intel, Sun, 3DLabs auquel s'ajoutent des membres participants tels que
Matrox ou encore Id-Software. Microsoft, l'un des membres fondateurs, s'est
retiré du consortium en mars 2003.
b. Implémentation
La version actuelle d'OpenGL est la version 4.5 et la
dernière mise à jour a eu lieu le 01/08/2016. OpenGL fonctionne
sur toutes les plateformes UNIX, sur les machines Windows, et MacOs, ainsi que
sous OS/2, OPENStep, AmigaOS, ou BeOS. Il fonctionne avec la majorité
des Interfaces graphiques: Win32, MacOS, Présentation Manager, ou
Xwindows et peut etre utilisé en Ada, C, C++, Fortran, Python, Perl et
Java.
OpenGL fonctionne à partir d'un ensemble de variables
d'états définissant le contexte GL, ces variables peuvent
être modifiées par les fonctions glEnable et glDisable.
|