Adventures in GPU Programming - Life

Tala Huhe (thuhe)

The goal of this project was to get started with GPU programming by simulating Conway's game of life. We used framebuffers to represent the state of the world, and simulated transitioning states by running a fragment shader with the current state of the world bound as a texture.

Results

It worked! Yay. Below is a screenshot.


3D Visualization

I generated a 3D simulation by mapping the world to a torus. This is done by drawing a cube for every cell in the world, and positioning them based on their texture coordinates. The mapping is rather simple and can be found on Wikipedia. Because of the large number of cubes, the simulation runs rather slowly (~13fps at 1912x1080). Finally, I apply a warp post-process shader to move things around. Below is a screenshot of my visualization.