Qu'est-ce qu'un navigateur WebGL ™?
Un navigateur WebGL ™ est un programme conçu non seulement pour afficher les documents de base HyperText Markup Language (HTML), JavaScript®, et CSS (feuille de style en cascade) en ligne, mais également pour interpréter le sous-ensemble spécial de ces spécifications appelé WebGL ™. Techniquement, WebGL ™ n'est pas un langage autonome, mais une bibliothèque graphique qui utilise l'élément de canevas du moteur de rendu du navigateur pour créer un pont entre le code WebGL ™, le matériel graphique et le navigateur. Cela donne à un navigateur WebGL ™ la capacité de restituer des graphiques tridimensionnels (3D) avancés beaucoup plus rapidement que ce ne serait autrement possible avec d’autres types de plug-ins et plus facilement que lorsque vous utilisez des programmes compilés séparément dans le navigateur. Presque tous les principaux navigateurs Web prennent en charge WebGL ™ de manière native, bien que les navigateurs qui n'implémentent pas la prise en charge native aient généralement des plug-ins tiers qui exposent les composants HTML nécessaires. Un navigateur WebGL ™ est capable de restituer rapidement des graphiques 3D en raison de l’accès direct à une carte graphique, mais c’est aussi la source de failles de sécurité potentiellement importantes qui pourraient permettre à un programme malveillant d’exécuter du code nuisible sur un ordinateur distant.
Essentiellement, un navigateur WebGL ™ contient du code qui lie spécifiquement les fonctions incluses dans une bibliothèque graphique de manière à ce qu'elles soient accessibles via JavaScript®. Dans la version standard du langage HTML 5 (HTML5), il existe un élément spécial, appelé canevas, qui permet de dessiner directement sur une zone de l’écran sans avoir à utiliser de plug-ins, ni à utiliser des balises HTML ou CSS pourrait ne pas être aussi précis que nécessaire. Dans un navigateur WebGL ™ compatible, JavaScript® est lié à une bibliothèque graphique de bas niveau et s’appuie directement sur l’élément de dessin HTML5, offrant ainsi une plate-forme pour les graphiques pouvant être transférés directement d’une carte graphique à un périphérique d’affichage.
Les bibliothèques utilisées sont les bibliothèques de systèmes intégrés OpenGL® (OpenGL ES®), qui constituent un sous-ensemble des fonctions de bibliothèque OpenGL® standard conçues pour fonctionner avec des périphériques mobiles. L'une des raisons pour lesquelles un navigateur WebGL ™ est possible est la nature légère des bibliothèques WebGL ™, qui ne consomment pas de grandes quantités de ressources et ne contiennent pas certaines des fonctions plus gourmandes en processeur de la mise en œuvre complète d'OpenGL®. Un problème récurrent avec un navigateur WebGL ™, cependant, est que les pilotes et le matériel d'un ordinateur ou d'un périphérique doivent être capables d'exécuter une application OpenGL ES®. Certains systèmes d'exploitation, périphériques, matériels et même pilotes ne disposent pas des fonctionnalités nécessaires pour exécuter un programme WebGL ™ et ne disposent pas non plus d'une solution simple, à moins de remplacer le matériel graphique installé.
Les principales préoccupations liées à la sécurité d'un navigateur WebGL ™ ont empêché certains développeurs de navigateur majeurs d'implémenter pleinement la prise en charge de WebGL ™. Cela concerne principalement l'accès direct que le navigateur fournit au code WebGL ™. Lorsqu'elle est utilisée à des fins malveillantes, la carte graphique peut être manipulée pour causer des dommages via le système hôte ou, dans le pire des cas, être utilisée comme passerelle pour exécuter ou installer du code informatique nuisible.