From a4629afb0eb0a3a3c054dc8255d4375ee9beb0af Mon Sep 17 00:00:00 2001 From: CrispyPin Date: Tue, 27 Aug 2024 23:01:34 +0200 Subject: [PATCH] add gol shader to portfolio --- site/lists/portfolio.html | 5 +++++ site/media/shaders/game_of_life.png | Bin 0 -> 17805 bytes write/lists/portfolio.md | 3 +++ 3 files changed, 8 insertions(+) create mode 100644 site/media/shaders/game_of_life.png diff --git a/site/lists/portfolio.html b/site/lists/portfolio.html index 1ae217a..c30c411 100644 --- a/site/lists/portfolio.html +++ b/site/lists/portfolio.html @@ -146,6 +146,11 @@ An example scene made for libgarbage, showing most of the primitive shapes avail

cellular automata

game of life

+

+2023-07
+I also made a web version of this in may 2021, see gol.crispypin.cc or github.com/CrispyPin/gol-wallpaper for the source
+Conway's game of life +

rule 110

2023-09
diff --git a/site/media/shaders/game_of_life.png b/site/media/shaders/game_of_life.png new file mode 100644 index 0000000000000000000000000000000000000000..9f30e147d46d50a980c3e43c58a7c1ced56e5d0c GIT binary patch literal 17805 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 literal 0 HcmV?d00001 diff --git a/write/lists/portfolio.md b/write/lists/portfolio.md index b9b9abb..b5de4a8 100644 --- a/write/lists/portfolio.md +++ b/write/lists/portfolio.md @@ -92,6 +92,9 @@ An example scene made for libgarbage, showing most of the primitive shapes avail ==video:"/media/shaders/rm_boxes.mp4" ## cellular automata ### game of life +`2023-07` +I also made a web version of this in may 2021, see [gol.crispypin.cc](https://gol.crispypin.cc/?cellsize=10&time=2) or [github.com/CrispyPin/gol-wallpaper](https://github.com/CrispyPin/gol-wallpaper) for the source +==image:"/media/shaders/game_of_life.png":"Conway's game of life" ### rule 110 `2023-09` See [Elementary cellular automaton (Wikipedia)](https://en.wikipedia.org/wiki/Elementary_cellular_automaton).