Yeah exactly! That was also something I was thinking of when I created this, good for inspiration and stuff.
Deep-Fold
Creator of
Recent community posts
That part wasn't super straightforward, but the way it basically works is that the program sets a time value on the shader, then copies the image output of that shader to somewhere else, and then advances the time value every frame until a full rotation is done.
As you noticed I used another project to save all of those separate frames to a gif, and I have a custom implementation for just stacking all those images together in a spritesheet. But I didn't really use any resources to come up with that, it just seemed like the easiest way to do it.
Hope that makes sense!
Glad you enjoy! Shaders can really be quite tricky to wrap your head around at first, it's a different way of thinking from normal programming. I would recommend finding different resources on it until something "clicks".
Personally, I found the book of shaders very helpful for an introduction.
Thanks! This is using only a fragment/pixel shader to generate the planets, using a form of fractal brownian motion to generate noise.
I made a post on reddit some time ago that goes into a lot more detail in how the generator is built up, which you can find here: https://www.reddit.com/r/godot/comments/mobhb5
Hi, I haven't made any plans to update for godot 4 yet, not quite sure what needs to be done for that yet. In the source code you only have to change the max value of the clamp on line 87 & 91 of GUI.gd
As an aside, 50k x 50k pixels wouldn't work unfortunately due to godot and system limits. See https://docs.godotengine.org/en/stable/classes/class_image.html