ordinateur-interfaces-riches

De la 3D encore plus performante dans votre navigateur grâce à WebGL et WebCL

L’année dernière, Mozilla avait fait sensation en annonçant le portage du moteur Unreal dans son navigateur : Des jeux en 3D toujours plus performants avec HTML5. Précisons que Unreal Engine est un moteur graphique permettant de faire de la 3D, principalement utilise dans des jeux sur PC ou consoles. Ce moteur 3D avait déjà été porté dans Flash (pour faire de la 3D en utilisant le même environnement de création de contenus 3D), et il a ensuite été « traduit » en javascript pour pouvoir tourner de façon native dans un navigateur, en l’occurrence Firefox.

Rebelote cette semaine avec le portage de la dernière version du moteur : Mozilla and Epic Preview Unreal Engine 4 Running in Firefox. En moins de 12 mois, les équipes de Mozilla ont été capables d’améliorer de 40% les performances de asm.js, un sous-ensemble de Javascript, plus facile à optimiser. Les contenus 3D (animations, jeux…) créés pour le moteur Unreal 4 peuvent maintenant être affichés nativement dans votre navigateur grâce à asm.js, qui exploite lui-même WebGL, dont nous avons déjà parlé il y a quelques années : WebGL, le nouveau standard de la 3D sur le web.

Le résultat est visuellement très impressionnant et va permettre aux développeurs de jeux de toucher une cible beaucoup plus large. Pour se faire, ils viennent tout juste de proposer un nouveau modèle de licence pour rendre son moteur plus accessible : Epic Games Tries Something New, Licenses All Of Unreal Engine 4 For $19 A Month.

Le lendemain de cette annonce, Unity3D annonce à son tour que la prochaine version de son moteur de rendu 3D pourra être exécutée dans un navigateur : Mozilla and Unity Bring Unity Game Engine to WebGL. Les mêmes technologies seront utilisées (asm.js et WebGL) pour « traduire » le moteur 3D, mais celui-ci sera toujours disponible sous forme de plug-in.

Le but de ces annonces est de séduire le plus grand nombre de développeurs pour qu’ils adoptent  l’un ou l’autre de ces moteurs 3D dans leurs prochaines réalisations (jeux ou applications). Le fait de proposer une exécution native dans les navigateurs (Firefox ou Chrome) est un plus indéniable pour séduire le plus grand nombre de joueurs sans leur imposer l’installation d’un plug-in. Si le moteur d’Unreal est reconnu pour sa sophistication, le moteur de Unity est plus simple et largement utilisé par les développeurs de jeux mobiles qui y voient un moyen de faciliter la distribution de leurs jeux : Unity 5.0 announced, with direct-to-web, plugin-free publishing.

Et comme si ça ne suffisait pas, le Khronos Group vient d’annoncer la sortie de nouvelles spécifications et versions de spécifications précédentes : Khronos Releases Wave of New Standards and Initiatives for 3D Graphics, Heterogeneous Computing and API Interop. Pour vous résumer une longue explication, Le Khronos Group est un consortium en charge des spécifications de nombreuses normes en matière de 3D, notamment OpenGL (pour que des applications puissent exploiter la puce graphique) et OpenCL (pour que des applications puissent faire des calculs en parallèle sur le processeur ou la puce graphique). Le Khronos Group est notamment à l’initiative de WebGL, l’équivalent d’OpenGL pour les navigateurs et de la toute nouvelle WebCL, une APIs qui permet aux navigateurs d’utiliser le processeur pour faire des calculs parallèles : Khronos publishes a range of specs to take GPU computing to the Web et WebCL Will Soon Let Web Developers Harness The Power Of Multi-Core GPUs And CPUs From The Browser.

Traduction : l’industrie se mobilise pour que les navigateurs soient capables d’afficher de la 3D de façon aussi performante que les applications. Ceci étant valable pour les navigateurs sur votre ordinateur, mais également sur votre smarpthone ou tablette. Illustration avec cette vidéo de démonstration de WebCL par Samsung :

Toutes ces nouvelles spécifications et portages convergent vers un seul objectif : démocratiser la 3D et la rendre accessible au plus grand nombre au travers des navigateurs web, quel que soit le terminal utilisé. Qui s’en plaindra ?