News:
- WebGL 2.0 (voir spécifications et résumé): OpenGL ES 3.0 dans nos navigateurs. Requêtes d’occlusion, feedback de transformation, rendu instancié, aux opérateurs bit à bit dans les shaders et uniform buffero objects, rendu différé et PBR. A tester ici, c’est interactif ! Voir cette vidéo et celle-ci pour une démo.
- Février: Apple propose de créer une nouvelle API WebGPU, qui serait de plus bas niveau que webGL, avec des performances plus élevées pour le graphisme et le calcul.
- Janvier 2017: Firefox 51 est le premier à supporter WebGL 2.
- 2011: Sortie de WebGL 1.0 (Basé sur GL ES 2.0)
Ressources et sites:
- WebGL sur Wikipédia
- Quelques exemples de Tarek Sherif et leur code source
Supporté par:
- WebGL est souvent utilisé via une cross compilation type Emscripten(LLVM) ou Asm.js/WebAssembly.
- Plusieurs moteurs: PlayCanvas, Turbulenz, BabylonJS, Three.js
- SculptGL: un outil de sculpt 3D en WebGL avec son code source. Voir son site pour les shortcuts et autres infos.
Code:
Pour obtenir un contexte WebGL 2, vous pouvez obtenir le code suivant :
let canvas = document.querySelector('canvas'); let ctx = canvas.getContext('webgl2'); let isWebGL2 = !!ctx; if (!isWebGL2) { // try to fallback to webgl 1 ctx = canvas.getContext('webgl') || canvas.getContext('experimental-webgl'); } if (!ctx) { console.log('your browser does not support WebGL'); }
Les contraintes liées au WebGL: