Geeks3D Forums

GeeXLab => GeeXLab - english forum => Topic started by: leon on November 15, 2018, 04:45:01 PM

Title: Brainstorm: a (recursive) node editor using GeeXLab
Post by: leon on November 15, 2018, 04:45:01 PM
Just curious about how anyone would approach this.
This is more a though-experiment than something actionable.

These days, recursive node-editors are becoming more and more usual (compared to the traditional node-editors).
An example of a powerful recursive node-editor would obviously be TouchDesigner (TD):

(https://i.gifer.com/7Hc7.gif)

A powerful feature of TD is that each node has an extendable UI.
In a sense, each block could represent a GeeXLab script (or internal node?), which could open a draggable imgui popup with properties when doubleclicked.
Any thoughts on how realistic it would be to create an STANDALONE node-editor app (like MadView3D)..or should it be just a drop-in lua-library (which visualizes the current 'state')?
Which would you prefer?

I already figured, that by imagining the editor from scratch (outside of GeeXLab) would be a misstake.
That could introduce so many challenges from a maintenance point of view.
I could imagine a super-simple first version, by visualizing nodes on the highest level(like representing lua- or python-scripts, and/or objects from this framework: https://www.geeks3d.com/forums/index.php?topic=5171.0 (https://www.geeks3d.com/forums/index.php?topic=5171.0)).

Later, simple oscillator nodes (sinus,saw,square) etc could be written in lua, to easily modulate/control values:

(http://cdm.link/app/uploads/2017/03/sunvox.jpg) 

Later, one could always introduce 'zooming' into such node(s) (which would open a new node-editor, representing the internal GeeXLaB nodes), but i'm not sure whether that would add any value at all.

If anyone has any thoughts or advice on this let me know here!  :D

UPDATE: hm there seem to be people who've attempted a imgui node-editor widget:

(https://cloud.githubusercontent.com/assets/8225057/9472357/c0263c04-4b4c-11e5-9fdf-2cd4f33f6582.gif)

https://github.com/ocornut/imgui/issues/123 (https://github.com/ocornut/imgui/issues/123)
Title: Re: Brainstorm: a (recursive) node editor using GeeXLab
Post by: JeGX on November 19, 2018, 07:28:18 PM
Sure a node-based tool would be cool. But I'm not the best guy as soon as we talk about user interface  :P

The imgui-node editor you found sounds interesting. I think it can be coded with GeeXLab. I wonder how the splines have been done? With ImGui functions?

I found the code of the imgui node editor: https://gist.github.com/ocornut/7e9b3ec566a333d725d4
I will look at it asap, I will probably learn new stuff about ImGui!
Title: Re: Brainstorm: a (recursive) node editor using GeeXLab
Post by: JeGX on November 19, 2018, 08:25:19 PM
I found the answer in the node editor source code. There are handy functions to draw some primitives with ImGui like AddLine(), AddBezierCurve(), etc.  I will try to add them in GeeXLab.