Implementation of Conway's game of life cellular automata with a retro-style shader. Added as example on webgpgpu Github.
Sketch of WebGL implementation:
- Underlying cellular automata runs Conway's game of life
- States as game tiles: new cells: small blue; live cells: blue; died: skulls
- Life diffuses out coloring nearby areas
- A single RGBA texture stores the game state. We render to/from this texture as a framebuffer.
- Each color channel in [0,1] can be mapped to a [0,255] byte value
- The green channel stores the game of life state
- The blue channel stores the diffusing field
- The red channel outputs a tile ID value that is passed to a tile shader to render the game