Qu'est-ce que 3D WebGL ™?
La bibliothèque graphique Web (WebGL ™) est une interface de programmation abstraite (API) conçue pour permettre l’utilisation de graphiques en trois dimensions (3D) directement dans un navigateur Web, sans nécessiter de logiciel ni de plug-in distincts du navigateur principal. . La différence entre 3D WebGL ™ et les autres langages graphiques 3D basés sur un navigateur - tels que le langage de balisage de réalité virtuelle (VRML) - réside dans le fait que 3D WebGL ™ permet un accès direct au processeur graphique (GPU) sur la carte graphique présente dans le ordinateur. Une autre différence est que 3D WebGL ™ n'est pas un langage distinct, mais une API mise en œuvre via le langage de script JavaScript®, compris de manière native par presque tous les navigateurs Web. Bien que ce type d’accès direct de bas niveau au matériel informatique constitue l’un des points forts de WebGL ™, il s’agit également d’un problème plus important, car il présente une série de problèmes de sécurité difficiles à résoudre.
Un développement important qui a rendu 3D WebGL ™ possible est l'introduction de l'élément canvas dans la spécification HyperText Markup Language version 5 (HTML5). L'élément canvas permet un accès de bas niveau à une fenêtre qui peut être dessinée et conservée dans un style cohérent avec les types d'API de rendu existants dans d'autres langages de programmation. L'API WebGL ™ fonctionne avec ce canevas accéléré pour permettre de restituer très rapidement des scènes complexes sans recourir à une émulation logicielle sur différentes plates-formes ou implémentations.
L'API 3D WebGL ™ utilise non seulement l'élément canvas, mais s'appuie également sur la Open Graphics Library pour systèmes intégrés (OpenGL ES®). Il s'agit d'une version portable de la bibliothèque standard OpenGL®, conçue pour être portable non seulement entre différents systèmes d'exploitation informatiques, mais également pour tout périphérique nécessitant l'utilisation de graphiques 3D de bas niveau. Cette faible empreinte permet à la bibliothèque d'être intégrée dans n'importe quel navigateur pour presque n'importe quel périphérique.
L'implémentation de 3D WebGL ™ permet le développement de programmes interactifs pouvant être exécutés directement à partir d'un site Web ou téléchargés et exécutés en tant qu'application autonome dans le navigateur Web. Il peut être utilisé pour créer des jeux vidéo 3D, des logiciels éducatifs, des simulations et des logiciels de visualisation 3D pour la recherche scientifique et commerciale. En utilisant le navigateur comme application wrapper, les environnements 3D peuvent être développés sans avoir à se soucier du code standard répétitif pour les interfaces de base.
L’un des inconvénients majeurs de l’utilisation de 3D WebGL ™, qui empêche son acceptation généralisée auprès de certaines sociétés de fabrication de logiciels et de matériel informatique, est le risque de sécurité qu’il présente. La possibilité pour un programme d'accéder au GPU peut donner à un programme malveillant la possibilité de forcer le système informatique hôte à exécuter du code nuisible. Il a également été démontré que l’API WebGL ™ permettait des attaques par déni de service (DOS). Pour cette raison, certaines grandes entreprises informatiques refusent de prendre totalement en charge WebGL ™ dans leurs produits.