-
Notifications
You must be signed in to change notification settings - Fork 352
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix downstream traversal in graph editor #1349
Fix downstream traversal in graph editor #1349
Conversation
…ream method for nodegraphs. Add usage in node editor.
…ode should be able to be passed to the renderer.
Hi @fl-eholthouser, @jstone-lucasfilm |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks like a good proposal, thanks @kwokcb, and I've written up a couple of suggestions for edits.
For demonstration, I've added a test file and test vid + updated the minor src changes. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks very promising, thanks @kwokcb!
I'm running through initial tests with the pull request, though, and I'm encountering a regression where clicking on any node within the standard_surface
graph of the initial marble example will trigger a shader compilation error:
I have a build from the main branch in a separate folder, and I don't see the same issue when running the graph editor from that build.
Thanks for finding this. I'll check out what's going on. |
Hmm. Seems like code generation is creating invalid code when trying to render the surface shader inside of the std surface definition graph. As, this was never supported, I'll just ignore trying to do this (same as before). There is no logic which supports traversing from inside a functional nodegraph to where it's used as a node instance to downstream nodes. If this is desirable then new functionality needs to be added which is beyond the scope of this change. @niklasharrysson, leaving a ping as the
and is being called with this call:
where |
Actually if you copy the std surface graph to the top level it exhibits the same behaviour. This just seems to be a pre-existing issue which was ignored before. |
…n issue with trying to render the root of std surface, and there is not mechanism to traverse out of a functional graph to it's instance and downstream.
Update logic to avoid trying to traverse downstream through a functional nodegraph which was not supported before. |
Hey @bernardkwok, I'm not able to reproduce this problem. In the generated code I get |
Hi @niklasharrysson, Seems to be either when it's in a functional nodegraph or trying to evaluate the root |
Hi @jstone-lucasfilm, Not sure if you have to to re-look at this. There are some issues being raised by Marcel about missing evaluation / updates, and they could be fixed since this should do proper nodegraph downstream search now. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
One question about the logic in the new NodeGraph::getDownstreamPorts method:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good to me, thanks @kwokcb!
d329ed7
into
AcademySoftwareFoundation:main
Issue
Update #1348
Fixes #1460
Fixes #1457
Fixes #1459
Fixes
Test Document
Test Workflow
downstream_traversal.mp4