OpenGL 3.3 et 4.0 arrivent

Publié le 12/03/2010 à 20:40 par
Imprimer

Open GLLe Khronos Group a profité de la Game Developer Conference de San Francisco pour lancer deux nouvelles versions d’OpenGL. La première, la 3.3 est une petite mise à jour de la 3.2 qui date de l’été passé. Parmi les nouveautés, nous pouvons citer le support des surfaces au format FP10 et le découplage des textures et des paramètres de texturing (type de filtrage etc .) dont le nombre est limité. L’intérêt est de pouvoir utiliser chaque set de paramètres pour accéder à de nombreuses textures différentes et faire ainsi sauter une limitation à ce niveau, tout comme l’avait fait DirectX 10.0 il y a plus de 3 ans. OpenGL 3.3 permet donc en quelque sorte de peaufiner l’équivalence avec DirectX 10 au niveau des fonctions supportées.

OpenGL 4.0 est une évolution plus importante qui vise cette fois les GPUs de la génération DirectX 11. Il introduit ainsi le support de la tessellation avec deux nouveaux types de shaders, le tessellation control shader (équivalent au hull shader dans DirectX) et le tessellation evaluation shader (équivalent au domain shader dans DirectX). De nombreuses petites améliorations font leur apparition : le blending, l’antialiasing et le transform feedback (équivalent au stream output) gagnent en flexibilité, de nouveaux formats de textures font leur apparition… Globalement il s’agit de se rapprocher de ce que permet DirectX 11. A un détail près : OpenGL 4.0, contrairement à la dernière version de DirectX, supporte la double précision (FP64) dans les shaders.

Si les GeForce GTX 400 ainsi que les Radeon HD 5800 et 5900 pourront supporter OpenGL 4.0 sans problème, ce dernier point soulève des questions au sujet des Radeon HD 5700 et inférieures, qui ne supportent pas la double précision ainsi qu’au sujet des dérivés du GF100 dont on ne sait pas s’ils garderont ce support. Ces cartes pourront-elles afficher le support d’OpenGL 4.0 ? Si oui cela voudrait dire que la double précision est une option ou qu’elle peut être émulée dans le cas où le support natif ne serait pas présent.

Nous noterons par ailleurs que le Khronos Group a eu la bonne idée de revoir la numérotation des versions du GLSL, le langage de programmation des shaders lié à l’API. Pour plus de clarté, la version liée à OpenGL 3.3 est la 3.30.6 et celle liée à l’OpenGL 4.0, la 4.00.8. Auparavant il fallait par exemple utiliser la version 1.50.11 de GLSL avec OpenGL 3.2. Etant donné qu’il est probable que la version liée à OpenGL 3.3 continue à évoluer, en même temps que celle liée à l’OpenGL 4.0, cette clarification permet d’éviter toute confusion entre les différentes branches.

Pour plus de détails, la documentation complète est disponible ici .

Vos réactions

Top articles