Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/nevarek/godot_gol_compute
Game of Life implemented with Godot (~ v4.3) compute shader
https://github.com/nevarek/godot_gol_compute
compute godot shader
Last synced: about 2 months ago
JSON representation
Game of Life implemented with Godot (~ v4.3) compute shader
- Host: GitHub
- URL: https://github.com/nevarek/godot_gol_compute
- Owner: nevarek
- Created: 2024-12-15T14:55:22.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2024-12-15T15:55:37.000Z (about 2 months ago)
- Last Synced: 2024-12-15T16:41:01.610Z (about 2 months ago)
- Topics: compute, godot, shader
- Language: GDScript
- Homepage:
- Size: 942 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Godot GOL Compute Shader
![](preview_image.png)
Godot Version 4.4.dev.custom_build [7f5c46929] ~= 4.3
## Controls
| Keybind | Action |
|--- |--- |
| Space | Toggle processing |
|R | Reset Scene|
|Mouse Scroll Up | Zoom Camera In|
|Mouse Scroll Down | Zoom Camera Out|
|W, A, S, D| Move camera, 8-dir WASD|Configurations that may interest you will be found on the Dispatcher exports, such as the update frequency and auto-start for processing. Higher frequencies may yield a less-desirable result.
Glow effect can be edited on the WorldEnvironment Node.
## Known Issues
- Cells around the corners become invisible. I believe this is the texture data becoming distorted after a certain size due to precision errors, or an error in implementation that I cannot find.
- Constraining the camera to be static and render at approximately `1.4` zoom (or higher) will hide the issue out of the viewport, though cells will still be active outside the camera viewport.## Credits
- Special thanks to [hamsterbyte](https://www.youtube.com/@hamsterbyte) on YouTube for the dot matrix effect and [the walkthrough](https://www.youtube.com/watch?v=VQhi2w1E0iU&ab_channel=hamsterbyte) for setting up the compute shader.
- Code found in this repo is highly based on the implementation in the video, but converted from C# and adapted to my personal preferences.- All assets were made by myself using [LibreSprite](https://libresprite.github.io/#!/), designed to be similar to the originals.