gol 0.1.14

Conway's game of life in OpenGL.
Documentation
# Game of Life [![CI]https://github.com/lloydmeta/gol-rs/actions/workflows/ci.yml/badge.svg]https://github.com/lloydmeta/gol-rs/actions/workflows/ci.yml

Conway's Game of Life implemented in Rust and OpenGL via [`gfx-rs`](https://github.com/gfx-rs).

Done as an exercise to practise Rust and get my feet with with OpenGL.

Areas explored:
  * General rendering
  * Vertex, fragment shaders
  * [Pipeline state objects]https://gfx-rs.github.io/2016/01/22/pso.html
  * [Rayon]https://github.com/nikomatsakis/rayon for parallel processing
  * Building and deploying cross-platform binaries via GH Actions

![gol running](gol.gif)

## Usage

You can run the executable by downloading one of the binaries in [releases](https://github.com/lloydmeta/gol-rs/releases), or
via `cargo install gol`, then running `gol`, or if you've cloned the repo,`cargo run`.

```bash
OPTIONS:
    -h, --grid-height <grid-height>        Height of the grid [default: 80]
    -w, --grid-width <grid-width>          Width of the grid [default: 100]
    -u, --update-rate <update-rate>        Number of updates to the game board per second [default: 30]
        --window-height <window-height>    Height of the window [default: 768]
        --window-width <window-width>      Width of the window [default: 1024]
```

If running via `cargo`, options need to be passed by appending `--`, i.e. `cargo run -- -h 10 -w 10`.

## Todo

  * Optimise!