La technologie WebGL, qui fait appel à votre carte graphique pour offrir de la 3D dans votre navigateur, avance vers la standardisation. Verra-t-on bientôt des sites en 3D un peu partout sur la Toile ?
C’est quoi ?
WebGL est un terme qu’on n’entend pas tous les jours, il a des sonorités communes avec le nom OpenGL (API graphique permettant de faire des applications 2D/3D) mais à priori ce terme m’est inconnu … Et pourtant WebGL s’installe petit à petit et discrètement dans nos navigateurs, mais alors c’est quoi exactement ?
WebGL est [...]
Grande avancée pour la spécification WebGL, qui doit apporter l'accélération graphique 3D dans le navigateur, avec la publication d'un brouillon par Khronos Group.
L'intégration de WebGL apportant l'accélération 3D dans les navigateurs Web a commencé au sein de WebKit.
Après WebKit, le WebGL intègre maintenant le moteur de rendu Gecko qui est présent dans le navigateur Internet Firefox.
Les tentatives pour introduire la 3D sur le web se sont révélées jusqu'à présent peu fructueuses. Dès les débuts pourtant, le VRML avait suscité quelques remous, suivi par X3D et plus récemment O3D à l'initiative de Google. Inconvénient majeur de toutes ces solutions : il faut installer un plug-in dans le navigateur pour pouvoir en profiter.
WebGL a pour objectif l'exploitation d'OpenGL, la fameuse librairie de développement 2D/3D (au même titre que DirectX), directement au sein du navigateur, sans installation supplémentaire. Notez bien qu'aujourd'hui aucun des différents navigateurs ne supporte encore ce langage dans les versions disponibles pour le public. Les intérêts seraient nombreux, notamment via la possibilité de profiter des accélérations matérielles de la carte graphique et de l'imbrication avec JavaScript.
Sous le capot
Dérivée d'OpenGL ES déjà proposé pour les mobiles, l'API DOM de WebGL est exécutée à l'intérieur d'un élément HTML5 Canvas et bénéficie de l'accès au DOM. Le langage de programmation est JavaScript.
Les éditeurs de navigateurs Google (Chrome), Opera (Opera), Mozilla (Firefox), et Apple (Safari) sont tous membres du consortium WebGL, il ne manque donc que (roulements de tambour)... Microsoft à l'appel pour Internet Explorer. Il est très probable que Microsoft souhaite avant tout privilégier sa technologie propriétaire Silverlight, et qu'Adobe attende au tournant avec Flash 10. Néanmoins toutes les chances sont du côté de WebGL qui est propos...
Deux standards très intéressants sont en train d'émerger : WebGL du Khronos Group et FileAPI du W3C.
WebGL, c'est OpenGL ES 2.0 qui est exposé dans le navigateur via l'élément canvas d'HTML 5. Pour faire simple, c'est l'arrivée de la 3D (avec accélération matérielle) dans le navigateur. A savoir :
La spécification est à l'état de draft, avec pour objectif d'être finalisée au premier trimestre 2010.
Il est possible de tester WebGL dans les compilation nocturnes de Firefox (en l'occurrence une version pré-Alpha de Firefox 3.7)
Il existe déjà une version de Fennec (aka Firefox Mobile) qui intègre WebGL
FileAPI, c'est la possibilité pour le navigateur d'uploader plusieurs fichiers à la fois (c'est déjà un grand progrès) et de lire ces fichiers à la volée, par exemple pour accéder aux données EXIF d'un fichier JPEG ou des étiquettes ID3 des fichiers MP3.
Paul Rouget a publié une démonstration de l'API File (nécessite la version 3.6 de Firefox)
Pour ceux qui n'auraient pas encore installé Firefox 3.6, une vidéo de la démonstration est disponible
Pour la beauté de la chose, même si ça n'a aucun rapport avec ni WebGL ni FileAPI, voici une petite vidéo publiée par ma collègue Caitlin, qui démontre l'utilisation de SVG et de Canvas d'HTML 5 sur Firefox for Mobile. Cette vidéo est présentée par Arun Ranganathan, qui se trouve être l'éditeur de la spécification le chairman du groupe de travail WebGL. Comme quoi, finalement, il y a bien un semblant de cohérence dans ce...