The last couple of weeks I've been mainly focussing on the editing/creating of composition nodes in the visual programming system that I am building, which is more work than I expected. At least it's now possible to add input and output ports dynamically for existing compositions.
Since I also wanted to have some fun (and procastinate) I decided to implement a zoomable mandelbrot fractal in the gl-flow app, which can be seen in this little video
https://youtu.be/y71c1IBBBsk▾
. This also required some extra node-types and adjustments to the pull-based gl-flow engine. Like having support for a for-loop-node which can be breaked out of depending on a condition. I implemented both the for-node as the condition as containers due to the way the pull-based engine works.
To give some background on the implementation of the pull-based flow engine which is used in the gl-flow app: the nodes get executed backwards starting at an end node and their output is glsl-code which can be run by a fragment shader on the gpu. So, the nodes themselves are not executed by the shader but the generated output is.
The spatial placement of the "end-nodes" is used to determine which node gets executed first and then the input nodes are executed backwards. A container is also an end-node. So, the contained nodes are executed in a code block.
I think the fractal renderer works quite nicely but you can't zoom very deep because of precision issues. I might try to solve these in the future, but my goal is not to make the perfect visual shadertoy😊.
🤯 1
💥 1
k
Kartik Agaram
03/03/2024, 7:44 PM
I have a friend lined up to try this out the minute you publish some code 🤘🏼
❤️ 1
m
Maikel
03/03/2024, 7:56 PM
Thanks, He'll need to have a little bit of patience, sorry 😊 . But no worries I'll post a link hopefully soon.. because I do think that's the only way to let my project grow. I just want to improve some thinks before I post a link to my project