OpenGL / WebGL2 tutorials
A ladder of runnable OpenGL tutorials that mirror the
dasVulkan series shader-for-shader, to
the degree the WebGL2 portable floor allows. Every shader is written in
daslang – the same shared shader builtins (shader_lingua_franca) the
Vulkan rail uses – and lowered to GLSL (GLSL ES 3.00 on the web) at compile time
by dasGlsl. The same daslang shader language, lowered to a third backend.
Each tutorial is one homogeneous program: init / update /
shutdown plus a main driver. On the desktop main() runs the loop in a
GLFW window; on the web the wasm run path drives the three lifecycle functions
from the browser’s animation frame (the daslang Context persists across
frames), so the very same .das runs live in the playground. That live,
click-to-run version in the browser is what the OpenGL rail offers over the
Vulkan tutorials’ recorded video.
The series builds graphics → fragment compute → 3D scene → instancing → environment → multi-pass → modern post. WebGL2 has no compute / SSBO / indirect draw / mesh shaders, so the Vulkan rungs that depend on those (gpu-driven, mesh-shader) have no WebGL2 mirror – and drawing that boundary explicitly is part of the harmonization story: one shader language, one ladder, three backends, with the portable floor made visible.