Se connecter avec
S'enregistrer | Connectez-vous

OpenGL 3 et DirectX 11 : la guerre des API 3D n’aura pas lieu

OpenGL 3 et DirectX 11 : la guerre des API 3D n’aura pas lieu
Par

Avec l’omniprésence de DirectX de nos jours on a tendance à l’oublier, mais il y a une dizaine d’années une véritable guerre était engagée entre Microsoft et SGI sur le terrain des API 3D. Les deux sociétés rivalisaient d’efforts pour séduire les développeurs, Microsoft utilisant ses moyens financiers et SGI jouant pour sa part sur son expérience et sa renommée dans le domaine de la 3D temps réel. Dans ce David contre Goliath des temps modernes, le « petit » a tout d’abord remporté des points précieux en remportant le support du plus célèbre des programmeurs : John Carmack. Le succès des moteurs de Quake aidant, un bon support d’OpenGL est devenu suffisamment important pour motiver les fabricants de cartes 3D à fournir des drivers complets.

Microsoft pendant ce temps partait de zéro et il est évident que l’apprentissage allait prendre du temps. Pendant plusieurs années Direct3D a donc été en retard en termes de fonctionnalités tout en offrant une interface que beaucoup de programmeurs jugeaient nettement plus confuse que celle d’OpenGL. Mais s’il y a une chose qu’on ne peut pas reprocher à Microsoft c’est de se décourager trop vite. Au fil des versions Direct3D a petit à petit rattrapé son retard sur OpenGL, les ingénieurs de Redmond ayant aussi fait énormément d’effort pour rendre les performances comparables à celles obtenues par l’API concurrente.

Un tournant a été atteint avec DirectX 8 sorti en 2001 : pour la première fois l’API de Microsoft ne se contentait pas de reproduire ce que faisait SGI mais apportait des innovations propres comme le support des vertex et des pixel shaders. Parallèlement, SGI dont les revenus étaient principalement basés sur la vente d’onéreuses stations de travail dédiées à la 3D était dans une mauvaise situation, n’ayant pas senti que l’explosion des cartes 3D pour joueurs allait inciter ATI et NVIDIA à investir le marché professionnel avec des prix tellement bas (du fait des volumes) que SGI ne pouvait plus suivre. L’évolution d’OpenGL souffrait également de querelles internes. L’ARB, le groupe chargé de ratifier l’évolution de l’API, étant constitué d’un grand nombre de sociétés concurrentes il était difficile d’arriver à un accord sur les fonctionnalités à ajouter à l’API, chaque société essayant de tirer la couverture dans son sens. A l’inverse Microsoft de son côté se contentait de travailler avec ATI et NVIDIA, tranchant en dernier recours en cas de désaccord.

Avec DirectX 9 Microsoft a définitivement enfoncé le clou en imposant son API comme incontournable pour les développeurs. Seuls John Carmack et ceux qui se souciaient de la portabilité restaient fidèles à OpenGL mais cela représentait une part de plus en plus négligeable. Pourtant un retournement de situation n’était pas à exclure : on l’a vu dans le domaine des navigateurs Internet, même avec une situation de quasi monopole si l’on s’endort sur ses lauriers il n’est pas rare de voir un concurrent renaître de ses cendres. La prise de contrôle d’OpenGL par le groupe Khronos il y a deux ans laissaient donc entrevoir de nombreux espoirs que l’on espérait voir se concrétiser au SIGGRAPH de cette année. C’est en effet le mois dernier que Khronos devait annoncer OpenGL 3, une large révision de l’API qui devait permettre de recoller avec celIe de Microsoft dont la version 11 allait elle aussi être présentée. Pourtant tout ne s’est pas vraiment passé comme prévu…