Pourquoi vous devriez utiliser WebGL

WebG quoi ?

  <p>
    A noter qu&#8217;<a title="IE11 webGL support" href="http://www.techradar.com/news/internet/web/microsoft-s-internet-explorer-11-to-include-webgl-graphics-after-all--1141713" target="_blank">internet explorer 11 devrait supporter WebGL</a>, c&#8217;est du moins les rumeurs qui courent sur Twitter. Autrement dit, à part iOS qui fait le blocus, vous pouvez afficher du WebGL à peu près partout pour peu que vous ayez un  ordinateur potable, avec un navigateur mis à jour ou une tablette Android.
  </p>
  
  <p>
    Si on en crois le site <a title="WebGL stats" href="http://webglstats.com/" target="_blank">webglstats</a>, à l&#8217;heure actuelle près de 70% des internautes peuvent afficher du WebGL.
  </p>
  
  <h3>
    Comment ça marche ?
  </h3>
  
  <p>
    <a title="WebGL" href="http://angezanetti.com/?s=webGL" target="_blank">WebGL</a> s&#8217;affiche à l&#8217;intérieur de la nouvelle balise HTML5 appelée canvas, une fois cette balise créée il suffit de lui attribuer du le contexte qui va bien
  </p>
  
  <pre>var gl = canvas.getContext('experimental-webgl');</pre>
  
  <p>
    Et, hop vous avez un carré de WebGL, le reste c&#8217;est du javascript et des shaders.
  </p>
  
  <p>
    Il y a également de nombreux frameworks pour faciliter le travail, mon préféré étant <a title="Three.js" href="http://threejs.org/" target="_blank">Three.js</a>.
  </p>
  
  <p>
    &nbsp;
  </p>
  
  <h3>
    Si c&#8217;est si facile pourquoi c&#8217;est aussi peu utilisé ?
  </h3>
  
  <p>
    Aah, la fameuse question ! Premièrement c&#8217;est utilisé un peu partout sans forcement le savoir, WebGL est utilisé par Google Street View par exemple. dans de plus en plus d&#8217;application de prévisualisation 3D, github vient d&#8217;annoncer un &#8220;<a title="Github STL webGL" href="https://github.com/blog/1465-stl-file-viewing">STL file viewing</a>&#8221; supporté par du WebGL, sans oublier <a title="CloudParty" href="http://angezanetti.com/cloudparty-secondlife-like-navigateur-webgl-facebook/" target="_blank">CouldParty</a>, clone de SecondLife entièrement en WebGL et intégré à Facebook.
  </p>
  
  <p>
    Ensuite, il faut le dire, les dernières années ont été des années de développement. WebGL n&#8217;était pas forcement stable, à fait face à des soucis de sécurité assez important et les performances n&#8217;étaient pas non plus au rendez vous.
  </p>
  
  <p>
    Mais les choses changent vite, l&#8217;API est passé en version 1.0 il y a quelques semaines et, pour ce qui est des performances, Mozilla à sorti la semaine dernière un<a title="WebGL unreal Tournament Mozilla" href="http://angezanetti.com/le-moteur-dunreal-3-porte-sur-le-web-avec-webgl/" target="_blank"> portage du moteur de jeu unreal Tournament dans le navigateur</a> en WebGl, qui contredit vraiment les critiques sur la performance de la techno !
  </p>
  
  <h3>
    Quels sont les concurents ?
  </h3>
  
  <p>
    <strong>Unity3D</strong>
  </p>
  
  <p>
    C&#8217;est à mon avis le concurrent le plus sérieux, Unity est un logiciel propriétaire dédié à la création de jeux vidéos. Les jeux crées sont exportablent vers consoles, mobiles, ou vers le web via un plugin.
  </p>
  
  <p>
    L&#8217;outil est vraiment efficace et permet de créer facilement des scènes 3D de jeu. Si le web n&#8217;est pas votre cible principale ou si vous voulez des jeux extrêmement complexes, foncez c&#8217;est la techno qu&#8217;il vous faut!
  </p>
  
  <p>
    <strong>Flash Stage 3D</strong>
  </p>
  
  <p>
    Si je voulais troller un peu je dirais que Flash n&#8217;est pas vraiment une techno d&#8217;avenir et que ça devrait suffire pour vous convaincre !
  </p>
  
  <p>
    Pour être un peu plus objectif, Stage 3d n&#8217;a pas l&#8217;air vraiment documenté, demande l&#8217;installation de Flash &#8211; même si c&#8217;est standard sur la plupart des plateformes &#8211; et ne tourne pas sur mobile. Vous pouvez toujours compiler votre code en appli native, mais on sort du champs d&#8217;application de WebGL, tout comme les applis natives générées par Unity.
  </p>
  
  <p>
    <strong>Silverlight 3D</strong>
  </p>
  
  <p>
    C&#8217;était une idée de Microsoft, même si la firme n&#8217;a pas apporté beaucop de soutient à Silverlight et encore moins à Silverlight 3D. Honnêtement, je ne vois pas d&#8217;avenir pour cette techno, en tout cas rien qui justifie une investissement conséquent.
  </p>
  
  <h3>
     Qui m&#8217;aime me suive !
  </h3>
  
  <p>
    Pour moi tout est réuni pour que l&#8217;on assiste dans les prochains mois à une effervescence de projets WebGL. Cette techno, encore confidentielle est entrain d&#8217;émerger, et l&#8217;implémentation sur IE11 devrait aider encore plus son essor.
  </p>
  
  <p>
    Je vois de plus en plus de projets qui sortent, <a title="Sketchfab webgL" href="https://sketchfab.com/" target="_blank">Sketchfab</a> est un bon exemple de projet WebgL qui marche. Alors pas forcement sur des jeux complexes, sur des mondes virtuels mais dans un premier temps pour tout ce qui est data-visualisation, démos produits, visite virtuelle, je crois vraiment que le WebGL à sa carte à jouer.
  </p>
  
  <p>
    C&#8217;est d&#8217;ailleurs pour cette raison que je me replonge, tête la première, et avec plaisir dans cette techno. Vous venez ?
  </p>
</div>