Un navigateur WebGL est un programme conçu non seulement pour afficher base HyperText Markup Language (HTML), JavaScript et cascade feuille documents de style (CSS) qui sont en ligne, mais aussi à interpréter le sous-ensemble particulier de ces spécifications connues comme WebGL . Techniquement, WebGL n'est pas un langage autonome, mais une bibliothèque graphique qui utilise l'élément canvas du moteur de rendu du navigateur pour créer un pont entre WebGL Code , matériel graphique et le navigateur. Cela donne un navigateur WebGL la capacité de rendre les graphismes en trois dimensions (3D) de pointe beaucoup plus rapidement que ce ne serait possible d'utiliser d'autres types de plug-ins et plus facilement qu'en utilisant les programmes compilés séparément à l'intérieur du navigateur. Presque tous les principaux navigateurs web supportent nativement WebGL , même si les navigateurs qui ne mettent pas en œuvre un support natif présentent généralement des plug-ins tiers qui exposent les éléments HTML nécessaires. Alors qu'un navigateur WebGL est capable de rendu des graphiques 3D rapidement en raison de l'accès direct fourni à une carte graphique ordinateur, c'est aussi la source de potentiellement importantes failles de sécurité qui pourrait permettre à un programme malveillant d'exécuter du code malveillant sur un ordinateur distant.
En essence, un navigateur WebGL contient du code qui lie spécifiquement les fonctions incluses dans une bibliothèque graphique d'une manière si elles sont accessibles via JavaScript . Dans le cadre du langage HTML version standard 5 (HTML5), il y a un élément spécial connu comme une toile qui peut être utilisé pour dessiner directement sur une zone de l'écran sans avoir à utiliser des plug-ins, ou de travailler avec HTML ou CSS balises pourrait ne pas être aussi précis que nécessaire. Dans un navigateur compatible WebGL , JavaScript est lié à une bibliothèque graphique de bas niveau et s'inspire directement de l'élément canvas HTML5, offrant une plate-forme de graphiques qui peuvent être poussés directement à partir d'une carte graphique à un dispositif d'affichage.
Les bibliothèques utilisées sont les bibliothèques OpenGL Embedded Systems (OpenGL ES ), qui sont un sous-ensemble du standard OpenGL fonctions de bibliothèque conçus pour fonctionner avec les appareils mobiles . Une raison pour laquelle un navigateur WebGL est possible est la nature légère des bibliothèques de WebGL , qui ne consomment pas de grandes quantités de ressources et ne contiennent pas certaines des fonctions les plus gourmandes en temps processeur de l'application intégrale OpenGL . Un problème récurrent avec un navigateur WebGL , cependant, est que les pilotes et le matériel sur un ordinateur ou périphérique doit être capable d'exécuter un OpenGL ES application. Certains systèmes d'exploitation, périphériques, matériels et même les chauffeurs n'ont pas les capacités pour exécuter un programme WebGL et aussi ne pas avoir une solution facile à court de remplacer la carte graphique installée.
Les principales préoccupations avec la sécurité d'un navigateur WebGL ont empêché certains des principaux développeurs de navigateurs de mettre pleinement en œuvre le soutien pour WebGL . Cela vient principalement vers l'accès direct que le navigateur fournit au code WebGL . Lorsqu'il est utilisé avec malveillance, la carte graphique peut être manipulé pour causer des dommages par l'intermédiaire du système hôte ou, dans le pire des cas, peut être utilisé comme une passerelle d'exécuter ou de planter un code informatique nuisible.