WebGL links
It’s been a while since I wrote anything, and since I’m at the FOSS4G2019 teaching and ranting about WebGL, it’s time to gather a few of my links. This is the list of links that I usually give away at the WebGL workshops I’ve been doing:
- http://thebookofshaders.com
- Extensive guide about programming shaders
- http://editor.thebookofshaders.com/
- Interactive The REPL & shader editor that I use in workshops
- https://www.shadertoy.com
- Another interacive shader editor, with some complex examples
- https://webglfundamentals.org/
- Step-by-step tutorial on using stand-alone WebGL
- https://webgl2fundamentals.org/
- Same as above, but for WebGL2
- https://developer.mozilla.org/en-US/docs/Learn/WebGL
- Full API documentation and some tutorials
- https://www.khronos.org/files/webgl/webgl-reference-card-1_0.pdf
- Cheatsheet
- http://webglstats.com/
- Technology penetration statistics
- http://webglreport.com/
- Detailed iInformation about WebGL support in your browser
- https://gitlab.com/IvanSanchez/Leaflet.TileLayer.GL / http://ivansanchez.gitlab.io/Leaflet.TileLayer.GL/demo/repl.html
- Iván’s approach to tiled raster processing with WebGL
- https://gitlab.com/IvanSanchez/Leaflet.GLMarkers / https://ivansanchez.gitlab.io/Leaflet.GLMarkers/demo/repl.html
- Iván’s approach to displaying point data with a WebGL renderer
Some other libraries & frameworks:
- https://github.com/regl-project/regl
- Functional approach
- https://github.com/uber/deck.gl
- High-level dataviz
- https://github.com/mrdoob/three.js/
- Framework oriented to 3D scenes
- https://gpu.rocks/
- Non-graphical math calculations
- http://docs.gl
- HTML-friendly OpenGL documentation (added here at 2020-11-12)
- https://learnwebgl.brown37.net/index.html
- WebGL course (added here at 2020-12-03)
Updates:
Reminder of how weird floating-point precision in WebGL is (source):
Bits | |||||
---|---|---|---|---|---|
Name | Total | Sign | Exponent | Mantissa | |
WebGL1 lowp WebGL2 lowp |
10 | 1 | 0 | 9 | Fixed precision |
WebGL1 mediump WebGL2 mediump IEEE half |
16 | 1 | 5 | 10 | |
WebGL1 highp | 24 | 1 | 7 | 16 | |
WebGL2 highp IEEE single |
32 | 1 | 8 | 23 | Javascript Float32Array |
IEEE double | 64 | 1 | 11 | 52 | Javascript Number |
IEEE quad | 128 | 1 | 15 | 112 |