WebGL
WebGL est un standard pour la programmation en 3D avec le navigateur comme plateforme. La spécification finale du standard doit voir le jour en 2010 et est définie par le Khronos Group, un consortium qui est aussi en charge de Open GL et Open CL.
Cela permettra de réaliser des animations, des interfaces ou des jeux en 3D fonctionnant à la fois en ligne et hors connection.
Comment cela marche?
WebGL est une interface entre JavaScript et Open GL ES 2.0, une librairie en code natif qui accède directement au hardware des cartes graphiques. Il existe une version de Open GL pour chaque modèle de carte graphique, qui généralement installée par le système d'exploitation, quel qu'il soit.
Le rendu se fait dans Canvas, surface d'affichage graphique qui fait partie de HTML 5 et qui est déjà implémenté par plusieurs navigateurs. On peut utiliser WebGL sur d'autres plateformes, si elles utilisent WebKit notamment.
Comment utiliser WebGL
WebGL fonctionne sur un navigateur supportant Canvas (Firefox, Chrome et Safari) et avec un plugin approprié.
Un prototypes de plugins est proposé, C3DL (Canvas 3D JS Libary) par Mozilla.
Intégré à WebKit, il fera d'office partie de Chrome et Safari. Il est intégré dans la version de développement de Firefox 3.7.
Qui soutient WebGL
Les principales firmes soutenant le projet sont:
- Google. Cela entre entièrement dans la stratégie de Google qui est de porter les applications sur le Web, et cela se rapproche des projets Native Client, Google Chrome OS de Google.
- NVidia, fabricant de chipsets et cartes graphiques.
- AMD, fabricant de microprocesseurs.
- Mozilla.
- Opera Software.
- Ericsson, fabricant de mobiles.
Démonstrations
Une démonstration de Quake II tournant dans un navigateur supportant HTML 5 a été faite par Google. Elle utilise la version Java de Quake II, le Google Web Toolkit, WebGL.
- Quake II dans le navigateur avec HTML 5.
Le jeu classique. - Vidéo montrant l'utilisation de WebGL par la librairie Webkit.
Affichée dans Canvas. - La musique en images.
Deux vidéos montrant comment avec JavaScript et WebGL on peut avoir un media player affichant des fractales aussi vite qu'un logiciel local.
Les sources JavaScript sont fournis.
La librairie O3D
Google qui suivait une approche différente avec 03D, a décidé de le rendre complémentaire et d'en faire une librairie JavaScript plutôt qu'un autre plugin. O3D fonctionne donc en complément de WebGL.
Les choses ont donc évolué depuis que les auteurs de 03D ont exprimé leurs vues sur WebGL.
Compatibilité
WebGL fonctionne avec OpenGL sur la plupart des ordinateurs.
Avec ANGLE (Almost Native Graphics Layer Engine) moteur presque natif de couche graphique, une interface produite par Google, il fonctionne également avec Direct3D de DirectX.
Cela pour les configurations Windows qui ne disposeraient pas d'un module OpenGL.
ANGLE devrait aussi permettre aux développeurs d'applications mobiles de réaliser la phase de développement sous Windows.
Voir aussi
- Google Chrome OS.
- Qt 4.5. Bibliothèque d'interface graphique qui intègre Webkit.
Outils et documents
- Khronos Group. Présentation de WebGL.
- Spécification de l'API standard.
- C3DL. Le projet d'implémentation par Mozilla.
- GLGE. Une bibliothèque JavaScript pour faciliter l'utilisation de WebGL. Voir la démo en vidéo.
- ANGLE.
