WebGL, le nouveau standard de la 3D sur le web

Souvenez-vous, en début d’année Google lançait 03D, un plug-in pour faire de la 3D dans le navigateur. À L’époque je m’interrogeais sur la pertinence d’un tel plug-in alors qu’il existe de nombreuses autres technologies pour faire de la 3D (avec Flash ou pas), et parce que cela risquait de rentrer en concurrence avec les travaux de Khronos, un consortium visant justement à standardiser la 3D dans le navigateur (en reposant sur OpenGL).

En août, l’actualité s’accélère avec l’annonce du lancement de WebGL, un langage permettant de standardiser la 3D dans les navigateurs : Khronos Details WebGL Initiative to Bring Hardware-Accelerated 3D Graphics to the Internet. 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 ») et pas n’importe quelle standardisation puisque ces éléments 3D utiliseraient la balise <canvas> de HTML5 (cf. HTML 5 + CSS 3 = une révolution pour les interfaces web).

Donc si je reformule : de la vrai 3D qui exploite les capacités de votre carte graphique, dans une page web conforme aux spécifications du W3C. Tous les détails sont ici : New WebGL standard aims for 3D Web without browser plugins.

Pourquoi WebGL a toutes les chances de devenir un 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 est adopté de facto par le marché puisque c’est lui qui le propose.

Pour rentrer un peu plus dans les détails, WebGL propose donc au sein d’une page web de lier du contenu à votre carte graphique à l’aide de javascript et d’OpenGL ES. « ES » ? Oui, OpenGL « ES ». Pour faire simple il s’agit de la déclinaison multi-plateforme d’OpenGL. En d’autres termes, ils poussent un standard qui fonctionnera à la fois sur un ordinateur mais également sur des terminaux mobiles / alternatifs. Et là encore, tout le monde s’est mis d’accord puisqu’à ce standard sont associés Apple (avec son iPhone), Google (avec Andoid), Microsoft (avec Windows Mobile), Nokia (avec Symbian) et même un consortium représentant Linux.

Toute l’industrie est donc en ordre de marche pour faire de la 3D dans un navigateur à partir de la carte graphique quel que soit le terminal utilisé. Tout ceci étant standardisé grâce à l’HTML5 et sa fameuse balise <canvas>.

Il existe déjà des applications concrètes

Vous seriez tenté de ma dire : « OK mais c’est pour quand ?« , et je vous répondrais « pour tout de suite« . Les premières expérimentations sont ainsi déjà visibles sur Webkit (le moteur de rendu sur lequel repose Safari et Chrome) : Preview of WebKit’s WebGL / Canvas 3D.

La vidéo suivante montre ainsi les possibilités de WebGL :

Les premières expérimentations ne sont donc disponibles que pour Safari et Chrome mais les équipes de Mozilla prévoient une implémentation très prochaine dans Firefox (date à confirmer).

Et O3D dans tout ça ?

La question que l’on se pose maintenant est la suivante : que va devenir O3D maintenant que WebGL avance à grands pas ? La réponse est tout simple : dans la mesure où c’est la même équipe… les deux chantiers vont coexister : WebGL vs. O3D. La fameuse équipe de Google précise ainsi dans cette discussion que WebGL ne peut pas répondre à toutes les situations du fait de facteurs limitant comme javascript (entre autre). Ils vont donc visiblement revoir leurs ambitions à la hausse pour O3D et lui réservant des applications à usage plus intensif de la 3D.

Et je n’aborde même pas le cas de Native Client

Une révolution pour le secteur des jeux en ligne

La première réflexion qui me vient à l’esprit est de me dire que WebGL va ouvrir d’énormes possibilités pour les jeux 3D en ligne… et menacer ceux qui exploitent un plug-in propriétaire. C’est ainsi le cas d’éditeurs comme Cmune (et leur Paradise Paintball qui utilise Unity3D), QuakeLive ou encore InstantAction.

PLayLegions

L’avenir des Rich Internet Games se révèle donc radieux avec une technologie aussi rapidement standardisée qui va changer la donne. Par contre va se poser le problème de la courbe d’apprentissage : En combien de temps les développeurs vont-ils s’approprier cette technologie pour en faire quelque chose d’intéressant ? Dans l’exemple précis dans jeux en ligne, un éditeur comme Unity garde tout de même une longueur d’avance car il propose avant tout une plateforme de développement de jeux avec toute la logique métier derrière.

Un premier pas vers le Web 3D

Avec la standardisation de contenus 3D, attendez-vous à une prolifération de contenus 3D, tout comme nous avons vu proliférer les contenus audios et vidéos ces dernières années. Bien évidement il ne sera pas question d’abandonner les pages web au profit d’environnements 3D immersifs, mais plutôt de pouvoir encapsuler à loisir des contenus 3D dans vos pages web : objets 3D, scènes 3D…

J’anticipe alors un nouvel âge d’or pour les marques et médias qui verraient dans cette innovation la possibilité de communiquer autrement, de véhiculer autrement de l’émotion, d’interagir autrement… Par contre cela ne se fera pas sans mal car on ne rajoute pas comme ça une nouvelle dimension à son identité de marque ou aux contenus existants. Et c’est là où l’expérience acquise avec les univers virtuels va se révéler être particulièrement enrichissante. Finalement c’est la prophétie du Metaverse Roadmap qui est en passe de se réaliser : un futur proche où le web et les univers virtuels fusionnent pour donner naissance au web 3D.

Tout ceci vous semble complètement surréaliste ? Alors allez donc voir à quoi ressemble le site du dernier album d’Eminem : The Relapse (cf. Est-ce la mode du Point&Click ?). Un site d’ambiance sans texte où l’internaute est directement plongé dans un environnement 3D qui mélange storytelling et immersion. Le web 3D est là, juste devant nous, commencez à vous y préparer dès maintenant…

45 commentaires sur “WebGL, le nouveau standard de la 3D sur le web

  1. Unity3D est 1 plateforme complete (rendu3D accelere, son, physique, reseau, outils de contenus, …) avec 1 plugin player pour s integrer aux browsers web
    On ne peut pas comparer Unity3D a O3D ou WebGL, ce ne sont que des plugins de rendu3D accelere.
    Pour ma part je trouve O3D tres interessant : facile d acces pour les novices, complet pour les – novices, ouvert par rapport aux contenus 3D, …

    … A moins qu 1 gentil developpeur de chez google Labs se decide a creer 1 projet open source (comme O3D) pour definir 1 plateforme complete avec son plugin autour de O3D en y ajoutant le son, 1 moteur de physique, 1 API reseau (pas HTTP mais UDP ou TCP)

  2. Unity3D me semble assez abordable pour les débutants, c’est une solution assez complète (avec un moteur 3D, la gestion physique, le son, les lumières, les textures…) mais il lui manque un modeleur intégré. A ma connaissance, ça ne tourne pas sous Linux, c’est bien dommage.

    Ca se rapproche de Shiva et de Cheetah3D dans le même genre.

    Cette solution a encore de beaux jours devant elle tant que de vrais environnements de développement complets reposant sur d’autres technologies ne seront pas disponibles. Gardons quand même un oeil sur JME3 GDE par exemple. L’avenir est aux solutions 100% portables.

    Je rejoins Greg. Il faut garder à l’esprit que WebGL est seulement une solution de rendu alors qu’Unity3D est une solution de haut niveau beaucoup plus complète (qui utilise par ailleurs OpenGL et DirectX). D’ailleurs, peut-être un jour Unity3D supportera WebGL, qui sait?

  3. Je crois que pour l’instant WebGl est au tout début d’une longue bataille.

    Je suis 100% d’accord que le besoin d’un « langage du web pou la 3D » est énorme.
    Faire de la 3D sans plugin et sur le web est un besoin fort auquel aucune technologie ne peut aujourd’hui répondre.

    Mais je troue que web 3d a plusieurs faiblesses :
    – L’acceptation de Webgl par IE internet explorer. (qui a quand même 50% du marché)
    – la vitesse trop faible de javascript. Même si les calculs 3d sont traités par la carte graphique le reste des calculs doit être fait en javascript)
    – Web Gl ne prend pas en compte DirectX ( DirectX est quand même très présent sur le Web avec la plateforme wintel).

    En conclusion je pense qu’il faut revenir dans 1 an (pas avant) pour évaluer le succès potentiel de WebGl.

Laisser un commentaire