WebGL est un wrappeur javascript natif pour OpenGL.
OpenGL est quant à elle une bibliothèque graphique de bas niveau permettant des rendus
3D (et 2D) de hautes performances.
Elle est notamment utilisé pour faire
des moteurs graphiques (pour des jeux-vidéos par exemple), du rendu 3D,
du calcul hautement parallèle.
Pour se faire une idée prenons un exemple :
Imaginons que l'on veuille rendre sur un écran HD (1920 × 1080) une vidéo à 60FPS ou chaque pixel a une
couleur différente, calculable. On se retrouve avec 1 920 × 1 080 = 2 073 600 pixels à afficher
en à peine 16 microsecondes, c'est trop pour la plupart des CPUs et risque de malmener les ressources
de l'ordinateur. Il est donc judicieux d'utiliser le GPU, qui possède des milliers voir des millions de cœurs
contrairement au CPU qui n'en a guère plus d'une centaine pour pouvoir lire notre vidéo de manière sastifaisante.
Comment fait-on cependant pour communiquer à la carte graphique ce que l'on veut faire ? Et bien on utilise
une bibliothèque graphique (ici WebGL).
Ainsi WebGL sert lorsque l'on besoin rendu de haute performance sur un navigateur web comme un jeu-vidéo.
Ci dessous un exemple très simple de que ces explications de WebGL vont construire ici :
Voir le code source de l'exemple complet.
eof