I recreated the Conway's game of life using C++ and the legacy windows cmd as a canvas for my finals project in highschool. Never it my life did i think that you can make it with shaders, absolutely mind blowing. I used to think that shaders were limited because you couldn't have any states or communication between different parts, pixels, but the more of your videos i watch the more tricks i learn and all the more impressed i am by the ability of shaders programming
About the edge of chaos, for interesting complexity you need it stable enough to maintain state and unstable enough for that state to change when needed.
@Slackermanz here on UA-cam has basically been using cellular automata to create scenes that almost look like they could be observed in your snot under a microscope. Incredible creations there, if anyone is interested in this stuff.
Yes. You could try different rules or different grids (triangular or hexagonal for instance) or different topologies (surface of a sphere, donut hyperbolic field etc)
27:09 with the ternary operator, do you need to do "? 1 : 0" at the end? Can't we implicitly convert bools to ints? Maybe shader toy complains, I've not tried it myself.
I'm just wondering how it can work with a single buffer. The reason for this is that as we process each pixel, a subset of its neighbouring pixels in the texture have already been updated to new state whereas the others still have previous state. Shouldn't we use two buffers so that each pixel can be updated based only on previous state of all neighbouring pixels?
The Edge of Chaos,
one of the most profound concepts I've ever encountered in my life.
It will define me until I die, and beyond.
Great vid!
Damn... really quick uploads!!!
I recreated the Conway's game of life using C++ and the legacy windows cmd as a canvas for my finals project in highschool. Never it my life did i think that you can make it with shaders, absolutely mind blowing. I used to think that shaders were limited because you couldn't have any states or communication between different parts, pixels, but the more of your videos i watch the more tricks i learn and all the more impressed i am by the ability of shaders programming
About the edge of chaos, for interesting complexity you need it stable enough to maintain state and unstable enough for that state to change when needed.
Yeah something along those lines.
I dont really need to watch the video before hitting the like button
Another wonderful video... Thanks!
Amazing stuff! Never understood anything about the bloody shaders, and your things are really cool (and mysterious for me)!
Glad you get something out of my videos. Thanks for watching.
Awesome
Really informative. Thanks for the vid!
@Slackermanz here on UA-cam has basically been using cellular automata to create scenes that almost look like they could be observed in your snot under a microscope. Incredible creations there, if anyone is interested in this stuff.
Very entertaining. Thank you sir.
This is so interesting. There are so many ways to build and expand on this.
Yes. You could try different rules or different grids (triangular or hexagonal for instance) or different topologies (surface of a sphere, donut hyperbolic field etc)
@@TheArtofCodeIsCool I'm most experienced with the Unity engine. I'm gonna have to get to work :D
@@TheArtofCodeIsCool how would one do a sphere or donut, i am trying to have the grid form a ball.
27:09 with the ternary operator, do you need to do "? 1 : 0" at the end? Can't we implicitly convert bools to ints? Maybe shader toy complains, I've not tried it myself.
You mean, cast an int to a bool? That's a good question. Gotta try that.
it great job, tnx for u video, I like it and it very intresting for me
I'm just wondering how it can work with a single buffer. The reason for this is that as we process each pixel, a subset of its neighbouring pixels in the texture have already been updated to new state whereas the others still have previous state. Shouldn't we use two buffers so that each pixel can be updated based only on previous state of all neighbouring pixels?
The buffer we are reading from was completed the previous frame so all pixels read have already been processed.
You are awesome, 30:00 - that is what I enjoy most. (you talking)^^