Skip to content
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

Show source node in SceneInspector #834

Closed
johnhaddon opened this issue May 12, 2014 · 1 comment
Closed

Show source node in SceneInspector #834

johnhaddon opened this issue May 12, 2014 · 1 comment
Labels
scene Issues with GafferScene

Comments

@johnhaddon
Copy link
Member

The SceneInspector shows the state of a scene location as output by a particular node, which is all well and good, but there is no indication of which node was actually responsible for computing that state. It will often be that the node being viewed merely passed through an input value unchanged, and the actual value was computed further up the graph. We need to be able to show this to the user, and make it easy to select and edit the responsible node. Perhaps in addition to the source node, it would be good to show a full traceback involving all the nodes involved in computing the final value (the sources of the source).

In most cases we can implement this by tracing back up the node graph using correspondingInput(), and querying the value output by higher nodes until it changes - this is then our source node. This is complicated slightly by the nodes that change the hierarchy (Group, Parent, Duplicate etc) - for those we will need a method for mapping an output path into an input one. I think something like SceneHierarchyProcessor::inputPath( const ScenePath &outputPath, ScenePath &inputPath ) should do the trick.

We'll want to use this traceback functionality in a few different places (transform manipulators will need it to find a node to modify), so perhaps we should put it in a new SceneAlgo.h header?

@johnhaddon johnhaddon added this to the Scene Inspector and Hierarchy milestone May 12, 2014
@davidsminor
Copy link
Contributor

I was thinking I'd try and hook into this mechanism on the gl viewport side of my maya integration project. Haven't figured it out in detail yet, but if an object hasn't picked up any relevant modifications since it left the SceneInput node up the top, I can just let maya draw it how it wants. I can also identify procedurally generated geometry and draw it on top of the stuff in the maya viewport.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
scene Issues with GafferScene
Projects
None yet
Development

No branches or pull requests

2 participants