.General-purpose GPU programming without compute shaders
OpenGL ES has no compute shaders, but you can still do general-purpose GPU work with the tools it does give you. This piece walks through a slime-mold simulation built entirely from vertex and fragment shaders, using framebuffer swapping to feed each frame's output back in as the next frame's input.