thedmd / imgui-node-editor

Node Editor built using Dear ImGui
MIT License
3.73k stars 551 forks source link

Barebone example including processing #265

Closed paccerdk closed 1 year ago

paccerdk commented 1 year ago

I've been trying to wrap my head around handling basic node "processing", And i was thinking that it could be very helpful to have a straightforward "hello world" example to demonstrate basic nodes with functionality.

This could involve:

A node that outputs "hello world i++\n" every second. A node that prints received inputs to the console. (or somewhere in the window perhaps)

Possibly based on "basic-interaction-example" for simplicity. Such an example could significantly ease the learning curve for newcomers.

Initially, i was thinking of maybe an audio-related example, like a "sinewave float generator node" and a "float to audio out node", But i guess it might not be ideal, due to potential complications with additional audio dependencies.

Any guidance, references or code snippets to assist in understanding a node "processing" implementation would be greatly appreciated as I continue exploring, if/when i manage to figure out a simple implementation, i will share it here.

paccerdk commented 1 year ago

I'm starting to have doubts about how viable a "barebone example with processing" such as the one I've suggested, is.

I've been working on this for the last week or so, and I have a lot of the basic functionality made, such as state management, topological sorting, processing etc. but I'm not sure how realistic it is to simplify it down to a minimal barebone example.

A separate library to assist with this is probably more viable.

Adding a couple of notes such as what this library does, and what the user will need to handle, to use it, could be a nice approach to begin with. Finding the blueprints2 example was helpful for me, even if its a bit outdated and not finished, a link to it on the main page could probably help a some users along the way.

Closing the original issue for now