-
Notifications
You must be signed in to change notification settings - Fork 206
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
Viewer Snapshot to Catalogue #5533
Viewer Snapshot to Catalogue #5533
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.
Thanks Eric, this is a nice feature! I've requested some changes inline, but hopefully nothing too drastic...
Cheers...
John
src/GafferSceneUI/SceneGadget.cpp
Outdated
} | ||
} | ||
|
||
std::unique_ptr<OIIO::ImageOutput> output = OIIO::ImageOutput::create( fileName.c_str() ); |
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.
I wonder if we should be writing half-float images when the format is EXR? That's what we write when an ImageNode is dragged to the Catalogue. Any opinion @murraystevenson?
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.
That sounds good to me, I suppose full float data for the viewport is a little excessive. I'll defer to @murraystevenson for a final go or no go.
e00cc40
to
ae00e62
Compare
I've addressed all the comments save the float-to-half conversion. I also added a bit more information to the tooltip in the menu for catalogs that are disabled because their plug is not editable in ae00e62. Hopefully that can save users a little bit of hunting for the source of the menu item being inactive. |
Thanks Eric, LGTM. Could you get it all squashed ready to merge and tack a final half-floatifying commit on the end in anticipation please? Bear in mind that we've made a release (or two?) since the PR was opened, to the Changes.md bits all need shuffling up into the latest section. |
ae00e62
to
1733723
Compare
Changed the output type to half-float ✔️ , squashed ✔️ and moved the |
1733723
to
1e1cc0c
Compare
Thanks Eric - I've rebased just one more time to fix the inevitable Changes.md conflict. Merging... |
This does pretty much what the title suggests. In addition to sending the pixel data, a display window indicating the camera's resolution gate will be added if the snapshot is taken when viewing through a camera. I'm currently including the frame and the scene plug from which the snapshot was taken in metadata.
Identifying the catalogues in a script is one area that might deserve some more attention. I'm using
GafferImage.Catalogue.RecursiveRange()
to find allCatalogue
nodes from the script root. Some recent production scripts have around 600k - 1m nodes. Remote machines didn't seem to have any noticeable lag in getting all of the catalogues usinglist( catalogues )
in the Python terminal.I do notice a pretty good lag on my workstation with an artificially generated network of a similar number of nodes - 3-4 seconds on a release build.
Not sure if that's a matter of the topology of the node graphs or simply CPU speed / cores (I have 48, not sure what the remote machines have).
I put the
Catalogue
search into the "Send to Catalogue" submenu so it can be deferred until the user expands that menu, so that provides a bit of a guard against unwanted lags.Checklist