WebGL это практически не касается
Это язык шейдеров просто программа которая вызывается для каждой точки. Язык совсем простой и десяток математических функций.
Устанавливаются внешние переменные общие для всех параллельно выполняемых программ за исключением координат текущей точки(вектора) и программа должна вернуть цвет текущей точки.
Учебник в пару страниц
https://thebookofshaders.com/04/?lan=ru и готово.
Там даже осиливать нечего
<iframe width="640" height="360" frameborder="0" src="https://www.shadertoy.com/embed/MdX3zr?gui=true&t=10&paused=false&muted=false" allowfullscreen></iframe>