Last active
September 2, 2023 19:56
-
-
Save mhalber/4f0921dfa31a89037c113c34987591e1 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This note simply gathers some info and thoughts on building Node Editor, especially in an | |
immediate mode setting. | |
Q: How does imgui render rounded rects? | |
Check imgui AddRectFilled | |
Imgui drawing api is closer to nanoVG | |
- Path is kept | |
- Contents are modified based on path | |
RESOURCES | |
========================== | |
Node editor code examples: | |
https://github.com/CedricGuillemet/Imogen | |
This is quite full fledged editor, supports things like deletion, copy and undo. | |
Interestingly, the undo redo is done with lambdas. | |
However it does seem a bit complex. | |
https://github.com/Nelarius/imnodes | |
Decent rendering. Does not support copying. Does not support zooming | |
Can select multiple nodes | |
Q: How they perform panning? | |
https://github.com/rokups/ImNodes | |
Eh, no building script... Would need a working imgui app. | |
Example seems to have std::vector of connections, so already bad. | |
Codewise I like the idea of | |
if( createNewConnection( node_idx, prop_idx, mouse_pos ) { create_link() } // Or maybe not. Seems like some thin retained state would be better | |
This one is similar to mine in a sense that it has a bit of state | |
Imguis: | |
https://github.com/rxi/microui\ | |
+ dear imgui / nuklear obviously | |
Blog posts: | |
http://carlivan.com/engine-tools/visual-scripting/ | |
http://carlivan.com/engine-tools/blueprints/ | |
http://sol.gfxile.net/imgui/index.html |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment