La bibliothèque graphique basée sur le Web (WebGL ) est une interface de programmation abstrait (API) conçue pour permettre l'utilisation de graphiques en trois dimensions (3D) directement dans un navigateur web sans avoir besoin de logiciel ou plug-ins séparés à partir du navigateur de base . La différence entre 3D WebGL et d'autres langages graphiques 3D basés sur navigateur - comme la réalité virtuelle Markup Language (VRML) - est que la 3D Web GL permet un accès direct à l'unité de traitement graphique (GPU) sur le matériel d'affichage carte présente dans le ordinateur. Une autre différence est que la 3D Web GL n’est pas une langue distincte, mais une API mis en œuvre à travers le langage de script JavaScript qui est compris de façon native par presque tous les navigateurs web. Bien que ce type d'accès direct, de bas niveau pour le matériel du système informatique est l'un des points forts de Web GL , il est aussi l'un des plus grands problèmes, car il présente une série de questions de sécurité qui ne sont pas faciles à résoudre.
Un développement important qui a fait Web GL 3D possible est l'introduction de l'élément canvas dans le HyperText Mark up Langage Spécification Version 5 (HTML5). L'élément canvas permet un accès de bas niveau à une fenêtre qui peut être aspiré et maintenu dans un style cohérent avec les types existants d'API de rendu dans d'autres langages de programmation informatiques. L'API Web GL fonctionne avec cette toile accélérée pour fournir la capacité à rendre des scènes complexes très rapidement sans avoir à compter sur un logiciel d'émulation entre les différentes plates-formes ou des implémentations.
La 3D WebGL API utilise non seulement l'élément canvas, mais est également basé sur le Open Graphics Library for Embedded Systems (OpenGL ES). Il s'agit d'une version portable de la bibliothèque OpenGL standard qui est conçu pour être portable, non seulement entre les différents systèmes d'exploitation informatiques, mais aussi à travers un dispositif qui nécessite l'utilisation de graphiques 3D de bas niveau. Ce faible encombrement permet à la bibliothèque pour être intégré dans n'importe quel navigateur pour presque n'importe quel appareil.
La mise en œuvre de la 3D WebGL permet le développement de programmes interactifs qui peuvent être lancé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 3D vidéo, logiciels d'éducation, de simulations et de logiciels de visualisation 3D pour les affaires et la recherche scientifique. En utilisant le navigateur que l'application d'emballage, les environnements 3D peuvent être développées sans avoir à vous soucier de code réutilisable répétitif pour les interfaces de base.
Un des plus grands inconvénients à l'utilisation 3D WebGL , et qui empêche son acceptation généralisée avec certains logiciels et sociétés de fabrication de matériel, est le risque pour la sécurité qu'il présente. La capacité d'un programme pour accéder au GPU peut donner un programme nuisible la capacité de forcer le système d'ordinateur hôte d'exécuter du code malveillant. Il a également été montré que les attaques par déni de service (DoS) sont possibles en utilisant l'API WebGL . Pour cette raison, il ya quelques grandes entreprises informatiques qui refusent de soutenir pleinement WebGL dans leurs produits.