WebGL : le Web dans la troisième dimension

 Article modifié dernièrement le 30 Déc 2012 @ 22 h 07 min

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 en fait un langage permettant de standardiser la 3D dans les navigateurs, il est développé par la société Khronos Group (qui est en charge aussi d’OpenGL) et a pour objectif d’employer la puissance de nos cartes graphiques pour afficher des contenus 3D temps réel dans nos navigateurs. Pas n’importe quelle 3D puisqu’il s’agit de 3D calculée par votre carte graphique et non votre processeur (de la 3D dites « accélérée »).
Il est en cours de développement mais devrait se finaliser courant 2010, pourtant les premières impressions que nous révèle ce standard sont déjà très positives, en voici une démonstration avec cette vidéo Youtube :

Comment ça marche ?

La plupart des contenus web 3D sur des sites comme http://www.3dfa.com fonctionnent avec un plugin Flash ou Java, ce n’est donc pas nouveau de faire du contenu 3D sur nos navigateurs. Ce qui l’est plus c’est qu’avec un standard comme WebGL, plus besoin de plugin : les contenus 3D seront inclus dans les pages au même titre que des images ou du texte, le développement de tels contenus va alors se démocratiser et se répandre sur la toile tout comme nous l’avons vu avec les contenus vidéos et audios ces dernières années.

Pour sa part WebGL va puiser la puissance de nos cartes graphiques en utilisant la technologie OpenGL ES, une librairie native qui accède directement au hardware de la carte (une déclinaison multi-plateforme d’OpenGL). Le navigateur communiquera avec OpenGL ES par le biais de scripts JavaScript (Navigateur -> JavaScript -> OpenGL ES ->3D accélérée).
Etant donné qu’il existe une version de OpenGL pour chaque modèle de carte graphique et qu’elle est généralement installée par le système d’exploitation quel qu’il soit (Ordinateurs ou Mobiles), l’utilisation de WebGL nécessitera uniquement d’un navigateur compatible et rien d’autre à installer.

Le rendu graphique se fait dans Canvas (à l’aide de la balise <canvas>), surface d’affichage graphique qui fait partie de HTML 5 et qui est déjà implémenté par plusieurs navigateurs (Firefox, Chrome et Safari).

Un futur standard ?

La grande différence avec les autres standards graphiques comme SVG, c’est que WebGL est promu par un consortium qui regroupe à la fois des fabricants de puces (Nvidia, Intel, ARM, AMD) mais également des éditeurs de navigateurs (Mozilla, Opera et Google). C’est donc un standard qui devrait s’imposer rapidement sur le marché.

WebGL permet de réaliser des animations, des interfaces ou des jeux en 3D fonctionnant à la fois en ligne et hors connection, sur ordinateur ou sur mobile. Il est vu comme une alternative au plugin Flash d’Adobe sur les mobiles qui est quasiment inexistant, c’est peut-être une des raisons qui fait que les grands noms de l’industrie des Mobiles soutiennent ce standard : Apple (avec son iPhone), Google (avec Andoid), Microsoft (avec Windows Mobile) et Nokia (avec Symbian).

Alternatives ?

Google suit une approche différente avec son API 03D, car il estime que JavaScript est un facteur limitant dans la manipulation d’objets 3D avec le standard WebGL, Google va donc visiblement revoir ses ambitions à la hausse pour O3D en lui réservant des applications à usage plus intensif de la 3D.
Parallèlement à 03D, Google soutient cependant le projet WebGL et participe à son développement, voici un aperçu du rendu avec O3D :

Conclusion

A qui peut profiter ce nouveau standard intégré nativement aux navigateurs de demain ? la première idée qui me vient en tête est l’industrie du jeu, les énormes possibilités offertes par WebGL promet des jeux 3D en ligne d’une grande beauté. Etant donné le succès des sites proposant des jeux 2D, je pense que nous allons voir fleurir dans quelques temps des sites proposant des jeux 3D utilisant le standard WebGL 🙂

Certaines versions de développement des navigateurs sont déjà accessibles pour tester vous même WebGL :

  • Firefox : il vous faudra télécharger une nightly build et activer l’option webgl.enabled_for_all_sites à true dans about:config
  • Webkit/Safari : il vous faudra télécharger une nightly build sous Mac OS X 10.5 et 10.6 puis l’activer dans le Terminal avec la commande defaults write com.apple.Safari WebKitWebGLEnabled -bool YES
  • Webkit/Chromium : il vous faudra télécharger une continuous build (linux, mac, windows) et démarrer le navigateur en ligne de commande avec les options --no-sandbox --enable-webgl (attention la sandbox de sécurité est alors désactivée)
  • Opera : rien à ce jour
  • Internet Explorer : aucun signe de vie

Trois flèches vers le bas

1- Logiciel de brouillage d’adresse IP :

Contourner la censure en surfant anonyme

2- L’article explicatif :

La différence entre un proxy et un VPN

3- Comment espionner un smartphone (app) :

L’application de référence

Commentez ici

  • Greg 18 décembre 2009, 16 04

    Oui, à mon avis cela est très important également pour la dématérialisation des jeux vidéos. Plus besoin d’acheter une « boîte » contenant un support informatique (DVD) ; ces formes de logiciels sont trop facilement piratables et donc peu rentables. Bientôt nous n’achèterons plus le logiciel puisqu’il sera directement en ligne sur un serveur, visible sur tout bon navigateur —> nous n’achèterons plus le CD ou le DVD d’un jeu mais simplement la clé qui permettra d’y jouer sur internet.
    Voilà tout. Ne reste qu’à attendre la généralisation de la fibre optique 😀

  • Mimie 21 décembre 2009, 17 05

    WebGL utilise les ressources de l’ordinateur (carte graphique, navigateur, ram, etc.), un débit plus important permettra de transporter plus de données mais je pense qu’avec les débits classiques du moment, les jeux 3D tournent, cf http://www.quakelive.com

  • Mimie 2 juin 2010, 12 12

    WebGL, HTML5 et CSS3 : la révolution du Web dans quelques années 😀

  • Greg 30 décembre 2012, 13 01

    Lut,
    Tu peux corriger (ou enlever) le lien se trouvant à cet endroit stp : « avec son API 03D », il pointe sur une erreur.

  • Mimie 30 décembre 2012, 22 10

    Wala c’est corrigé

  • Greg 31 décembre 2012, 17 05

    Thx ! T’avais raison, je reçois plus les abonnements des commentaires, un peu pénible 🙁 Va falloir que les gens se réabonnent c tout.

Article suivant:

Article précédent:

Share This