Bbabo NET

Sciences & Technologie Actualités

WebGL 2.0 est enfin pris en charge dans tous les principaux navigateurs

Capture d'écran de la démo WebGL Water par Evan Wallace

Le consortium de développeurs Khronos Group a annoncé que la technologie WebGL 2.0 pour le rendu de graphiques 2D et 3D interactifs sans plug-ins est enfin prise en charge dans tous les principaux navigateurs (vérifier).

La spécification est prise en charge dans Firefox et Chrome depuis 2017. Cependant, cela n'a pas suffi à sa mise en œuvre indolore. La prise en charge a été ajoutée à Edge en 2020, Safari 15 pour macOS et iOS étant la dernière mise à jour. Cela s'est produit après deux ans de travail intensif des ingénieurs d'Apple WebKit, qui ont choisi une voie non standard, mais très agréable pour la communauté open source (plus de détails ci-dessous).

Désormais, tous les développeurs peuvent en toute conscience ignorer les replis sur la 1.0, ce qui simplifiera grandement l'écosystème graphique du Web.

Khronos Group est un consortium à but non lucratif de plus de 150 développeurs dans le domaine des graphiques 3D, VR/AR, programmation parallèle, accélérateurs graphiques et apprentissage automatique. Le consortium crée et promeut des standards graphiques tels que Vulkan, OpenGL, WebGL, SPIR-V, OpenCL, OpenVX, OpenXR, ANARI et glTF.

Introduit en 2017, WebGL 2.0 a été une avancée significative en termes de capacités d'infographie. Il a fourni l'ensemble de fonctionnalités OpenGL ES 3.0. Nouvelles fonctionnalités clés :

retour de la transformation via l'objet TransformFeedback ;

rendu instantané ;

plusieurs cibles de rendu ;

objets de tampons de mémoire uniformes généraux - Uniform Buffer Objects (UBO);

chevauchement des demandes ;

prise en charge des textures beaucoup plus large que le pipeline WebGL 1.0 d'origine.

La nouvelle spécification 2.0 était prise en charge par Firefox et Chrome depuis le début, mais il a fallu beaucoup de temps pour se propager à tous les développeurs WebGL. Pendant des années, les développeurs ont eu besoin de fournir une alternative à WebGL 1.0 pour couvrir tous les navigateurs et appareils populaires. Maintenant ce n'est plus le cas. Le déploiement de WebGL 2.0 sur les navigateurs est terminé et les auteurs d'applications peuvent l'utiliser en toute confiance, déclare le consortium Khronos Group.

Un travail sérieux sur la mise en œuvre de WebGL 2.0 dans Safari a commencé en juin 2019. Cela a entraîné plusieurs effets secondaires agréables pour la communauté open source. Tout a commencé avec le fait qu'Apple a décidé d'utiliser le moteur gratuit ANGLE. En conséquence, leur équipe d'ingénieurs a passé d'innombrables heures à améliorer le backend Metal.

Safari fonctionne désormais avec WebGL en plus de Metal sur les appareils iOS et macOS récents. Les équipes d'ingénieurs d'Apple et de Google ont commencé à travailler ensemble pour apporter ANGLE à WebKit. Ils créent également une base de code commune pour le développement ultérieur et la traduction de Chrome vers le backend ANGLE Metal.

Démo WebGL Aquarium, (c) Gregg Tavares, Human Engines

Cette démo peut être synchronisée sur plusieurs machines via WebSockets.

Bien que WebGL 2.0 ait atteint une large prise en charge dans tous les principaux navigateurs, les travaux sur la spécification continueront d'améliorer la compatibilité et la cohérence.

L'avenir est WebGPU

Ainsi, l'écosystème graphique est devenu beaucoup plus simple. Le développement ultérieur des applications Web graphiques dans les années à venir fournira des interfaces de programmation WebGPU.

Le développement de l'API WebGPU est activement en cours dans le groupe de travail W3C concerné. Le dernier projet est sorti le 14 janvier 2022, c'est-à-dire récemment. Maintenant, c'est un projet de travail. La technologie fournit aux navigateurs des capacités d'infographie modernes Direct3D 12, Metal et Vulkan.

Le déploiement complet de toute spécification prend du temps. WebGL 1.0 est sorti en mars 2011 et la prise en charge de 80 % des navigateurs n'est intervenue qu'après 3,5 ans. La même chose est vraie maintenant. WebGL 2.0 a atteint les mêmes 80 % dans le même laps de temps. Le voyage vers WebGL 2.0 et WebGPU se poursuivra même après l'approbation officielle de la spécification WebGPU.

En attendant, WebGL continue d'évoluer. Le groupe Khronos a récemment annoncé la disponibilité d'au moins un format de texture compressé (ETC2 ou S3TC) dans tous les navigateurs, ainsi qu'une nouvelle extension multi-tirage qui améliore considérablement les performances de rendu en regroupant la géométrie. La fonctionnalité OES_draw_buffers_indexed permet des techniques de transparence avancées indépendantes de l'ordre.

En fait, WebGL est désormais la plate-forme graphique 3D la plus répandue et la plus accessible au monde.

Le groupe Khronos encourage tous les développeurs à passer de WebGL 1.0 à WebGL 2.0 et à participer aux activités en ligne. Il existe une liste de diffusion WebGL Dev List et un chat WebGL sur The Matrix (#webgl:mozilla.org).

WebGL 2.0 est enfin pris en charge dans tous les principaux navigateurs