OpenGL 3.3 et 4.0 arrivent
Le 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.
Contenus relatifs
- [+] 25/05: Encodage H.264 : Retour sur NVENC e...
- [+] 25/05: Le marché des cartes graphiques en ...
- [+] 25/05: Radeon 7970 Vortex III chez Powerco...
- [+] 24/05: Les GTX 680 PoV modifiées par TGT
- [+] 22/05: Pilotes Nvidia GeForce 301.42 WHQL
- [+] 17/05: GTC: Plus de détails sur le GK110
- [+] 16/05: Nvidia lance les GT 610, 620 et 630
- [+] 16/05: GTC: VGX: la virtualisation sur GPU...
- [+] 16/05: GTC: Tesla passe à Kepler avec les ...
- [+] 16/05: GTC: Nvidia lève le voile sur le GK...