-
Notifications
You must be signed in to change notification settings - Fork 59
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
Improve and generalize Hydra dependency graph #1158 #1159
Conversation
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.
HDARNOLD_API
AtNode* HdArnoldRenderDelegate::GetSubdivDicingCamera(HdRenderIndex* renderIndex);
We need to remove HdArnoldRenderDelegate::
in render_delegate.h line 453.
The PR is working well and is fixing crashed deleting light filters.
render_delegate/light.cpp
Outdated
[&](const SdfPath& p) { lightShaderPath = p; }); | ||
|
||
AtNode *color = nullptr; | ||
AtNode *shader = nullptr; |
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.
AtNode *shader = nullptr;
is unused
render_delegate/render_delegate.cpp
Outdated
for (const auto& source : it->second) { | ||
// for each source referencing the current target | ||
// we need to remove the target from its list | ||
auto &sourceIt = _sourceToTargetsMap.find(source); |
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 should be a const reference const auto &sourceIt = _sourceToTargetsMap.find(source);
Fixed the build issues in the last commit |
Changes proposed in this pull request
This PR does quite a few changes on the previous "tracking" of node graphs. The previous system was a dependency graph, but hardcoded for specific use cases, and not fully reliable. It's important the the list of references & back-references is stored in a centralized place, so that every time something changes, all the lists are properly updated. In this case, the "node graph tracker" which was part of the meshes, was not updated when the render delegate changed its dependencies, and we could end up with crashes or refresh issues when shading nodes were deleted / reconnected / etc...
Here's a list of what this PR changes :
Issues fixed in this pull request
Fixes #1158