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. Merci pour cette belle analyse. Le parallèle avec les solutions concurrentes est très explicite.
    Finalement les briques se mettent en place pour que demain nos terminaux soient non seulement débarrassés de Flash mais profitent de technologie encore plus puissantes.

    Je souhaite un bon avenir à WebGL.

      1. L'implémentation Mac est une véritable catastrophe. Ce truc bouffe du CPU autant qu'il peut en prendre.
        Je bloque presque systématiquement le Flash avec ClickToFlash pour éviter de faire chauffer mon portable :-)

        Le Flash pourrait-être une bonne technologie, mais je le trouve trop fermé et mal intégré au web. Dans une page le Flash est une grosse boite noire (je simplifie) alors que les outils comme SVG et WebGL s'intègrent correctement au rendu de la page.

      2. "Ce truc bouffe du CPU autant qu'il peut en prendre" : certes, mais nos machines ont de la puissance à renvendre, non ? Bon ceci étant dit ce n'est pas une raison, surtout s'il existe maintenant une techno standardisée.

  2. Flash a toujours été assez bancal pour afficher de la 3D sans parler de la nécessité d'utiliser des plugin par dessus ou par dessous Flash qui jusqu'à il y a peu ne gérait pas nativement la 3D.

    En fait, je trouve qu'on arrive déjà peu (je parle pas de l'élite, je parle de la masse) à gérer correctement l'ergonomie en 2D sur le web … alors passer en 3D serait carrément précipité.
    Sans parler des coûts de développement graphique 3D …

    A long terme en revanche, tout est possible.

    Merci pour ce brief sur WebGL ! Très instructif.

  3. Je doute que WebGL soit utilisé pour construire une ergonomie 3D.

    C'est clairement le marché du jeu en ligne qui est visé.

    A terme les publicitaires et les créatifs s'empareront de l'outil pour aller plus loin. Outre le jeu, la 3D a certainement un intérêt pour les scientifiques et la représentation de données.

    Articuler le web et son ergonomie autour de la 3D a déjà été tenté… et VRML a été un échec.

    1. VRML a été un échec, mais WebGL est proposé par l'industrie (et adopté de force par le W3C), je pense que ça va changer la donne. La grande question reste : quels outils de concption / édition ?

  4. euh tout ça au juste, ça sert à quoi ?? sincèrement c'est d'un imbroglio total à vous lire, vous et autres prétendants à telles web-fonctions et web-catégories.. sans être insultante, on a l'impression d'une grande machinerie ubuesque qui comble le temps mais quel en est l'apport ?? rien, de la sémantique inabordable, des thèmes qui vous sont (im)propres et imaginaires.. et c'est pas même pas drôle. Une chose est sûre, cela va dynamiser les emplois fictifs… Je retourne dans mon monde. Ciao.

    1. @ Sophie > Quelle étroitesse d'esprit. Vous me faites penser à ceux qui ricanaient en voyant s'effondrer la bulle spéculative de l'internet et sortaient des phrases toutes faites comme ("le commerce en ligne c'est du virtuel" ou "l'internet s'est finit").

      "dynamiser les emplois fictifs" ? Il suffit de voir la politique d'investissement du gouvernement ou l'affluence au salon E-commerce de cette semaine pour comprendre que les solutions de sortie de crise sont à chercher sur le web, pas dans l'industrie.

      Derrière ces efforts de standardisation et ces expérimentations se trouvent les fondements du futur internet 3D, pas forcément un Seconde Life amélioré mais un Web où se mélangeront des contenus textuels, vidéos, sonores et 3D. Le tout pour une expérience plus riche et immersive.

      Mais dans tous les cas de figure, il y aura toujours des sites web textuels en 2020.

      /Fred

  5. Ping: Amaransia
  6. @ Sophie > Assez marrant de dire ca dans la mesure ou vous postez avec votre page facebook en lien, qui je vous le rappelle est le nec plus ultra du no life en matière de social (je poste des photos, j ai plein d´amis que je ne verrai jamais dans la vraie vie, je suis super content de pouvoir fouiner dans la vie des autres). Si c´est ca votre monde … et merci de laisser parler des gens qui connaissent un peu mieux les technologies de l´information plutôt que de geindre car rien ne vous oblige à lire fred cavazza … Personnellement, je ne suis pas pleinement d´accord avec Fred mais quelqu´un qui travaille depuis 12 ans dans les métiers de l´internet a, je pense, une bonne idée des tendances (je travaille personnellement dans les systèmes et architectures virtualisées ainsi que les relations client serveur en programmation et je pense que fred a une bonne vision :-) ).

    Concernant WebGL, je pense qu´il a un avenir mais je doute qu´il arrive diectement sur nos pages, je m´explique… je pense que c´est plutot des frameworks qui arriveront (comme AJAX), des moteurs de rendu en fait. Pourquoi ? le développement 3D demande une certaine compétence qui, aujourd´hui, est assez rare et je vois mal tous les développeurs web se mettre à la 3D d´ou l´utilisation de framework très simplifiés (of course pour un cube ou autre rendu simple pas la peine d´utiliser des frameworks). Je suis d´ailleurs très intrigué par QuakeLive et je n´ai pas regardé les technologies se cachant derrière mais si il est possible de pondre ca sur le web, je me mettrai bien à ce genre de dev … Le web va se rapprocher de plus en plus de la télé et des consoles de salon pour nous scotcher sur nos écrans encore plus longtemps … C´est les chaines de télé qui devraient commencer à s´inquiéter …

    1. Merci Cyril pour ton commentaire.

      Quand tu parles de développement 3D, sagit-il de modèles 3D ou d'interfaces 3D ? Connais-tu des frameworks qui pourraient prendre cette place ? Est-ce que Unity3D est à classer dans la catégorie "framework" ou "IDE" ?

      /Fred

  7. Fred, Unity3D est un moteur 3D et donc un framework. C´est aussi un plugin pour les browsers. Je pense que Unity est un moteur d´avenir.

  8. Bonjour

    Tout d’abord, OpenGL ES n’est pas plus portable qu’OpenGL, ce n’est pas tout à fait ça. ES signifie Embedded System, ça s’adresse donc principalement à l’embarqué et maintenant à nos navigateurs.

    Je programme des jeux vidéo depuis 10 ans essentiellement en amateur (mais pas que ;)) et je suis ingénieur en visualisation 3D. Que les choses soient claires, même les développeurs qui travaillent sur WebGL reconnaissent qu’on n’écrira pas le prochain Crysis avec. WebGL est suffisant pour pas mal d’applications 3D y compris les jeux mais ça repose sur JavaScript. Bien que nos machines soient de plus en plus puissantes, un utilisateur un minimum averti ne trouverait pas normal d’avoir besoin d’une machine de fou pour faire tourner un jeu du niveau graphique de Quake 1.

    J’espère de tout coeur qu’une technologie ouverte et largement adoptée concurrencera Unity3D et autres plugins propriétaires mais je pense que surestimer les possibilités de WebGL ne nous rend pas crédible. Il existe déjà des compilateurs/interpréteurs Flash libres, regardez du côté de Gnash et MTASC. Il existe déjà pas mal de moteurs 3D en Java (ET reposant sur OpenGL) permettant de faire de la 3D dans des applets sachant que Java est sous licence GPL version 2 depuis novembre 2006 donc on parle bien d’une technologie libre. Pas mal d’entreprises utilisent déjà JOGL, il n’y a même plus de popup depuis l’apparition du certificat sur liste blanche.

    Sinon, mis à part ces deux points, l’article est pas mal, il aborde bien les perspectives d’avenir de la 3D sur le web. Merci Fred.

  9. @ Julien > Merci pour ces précisions. Effectivement WebGL ne pourra pas faire tourner Crysis, mais ce n’est pas le but : les Rich Internet Games s’adressent à une cible différente des « Hardcore » Games.

    Quel est ton point de vue sur Unity3D (hormis le fait que la techno soit propriétaire) ?

    /Fred

  10. Merci Fred pour ce très bon article sur le web 3D.

    La 3D sur Internet, ce n’est certes pas un sujet nouveau, les évolutions de ses derniers mois sont les bienvenus, mais ce qui devrait selon moi, être la prochaine révolution internet, c’est la Réalité Augmenté.
    La compilation de toutes les dernières technos et internet et physiques.
    Science-fiction? De moins en moins.
    Le web apportera les idées d’applications et d’interfaces pour interagir entre virtuel et réel.
    La 3D sur le web ne sera (toujours selon moi) qu’une étape. Bientôt il ne sera plus confiné au 2D de l’écran de l’ordinateur, il se superposera à la réalité, pour l’augmenter de toute sa profondeur.
    J’ai hâte !

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s