-
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
3Delight multipart render support #5844
Conversation
This removes all usage of `boost::variant`, except for one in SetAlgo, where the interaction with `boost::reference_wrapper` makes removal trickier.
Prefer `std::optional` to `boost::optional`
Prefer `std::variant` to `boost::variant`
fix typo
Update CropWindowToolUI.py
Drop support for OpenEXR/Imath 2
@johnhaddon Are you OK with switching this PR from |
Yep, that would be great. I haven't tested what would have happened if we pointed two different outputs to the same file before, but I assume it wouldn't have worked. If you could also include a mention in Changes.md that would be great. |
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.
Added a couple of small comments - would be great if you were able to take care of them, but they're not essential.
i = IECoreImage.ImageReader( os.path.join( self.temporaryDirectory(), "multipart.exr" ) ) | ||
h = i.readHeader() | ||
subimages = h['oiio:subimages'] | ||
del i |
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.
It's not essential that you change this now, but we're close to phasing out IECoreImage.ImageReader
everywhere, so if you have time it'd be great if this check could be performed with the OpenImageIO
module directly instead.
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.
Got it! Absolutely no problem to switch the test to the OpenImageIO
module.
@@ -281,7 +281,7 @@ class DelightOutput : public IECore::RefCounted | |||
driverParams.add( { "drivername", &typePtr, NSITypeString, 0, 1, 0 } ); | |||
driverParams.add( { "imagefilename", &namePtr, NSITypeString, 0, 1, 0 } ); | |||
|
|||
m_driverHandle = DelightHandle( context, "outputDriver:" + name, ownership, "outputdriver", driverParams ); | |||
m_driverHandle = DelightHandle( context, "outputDriver:" + output->getName(), ownership, "outputdriver", driverParams ); |
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.
Amazing how simple this is! Might be worth a comment stating that NSICreate
will just return an existing node if the handle already exists and that's how we coalesce multi-part. I only learned about that detail very recently.
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.
Sounds good! Will update the code with the comment.
Great! Thanks! Previously the same file name wouldn't have worked because the two Gaffer outputs would create two different NSI outputdriver nodes. Absolutely no problem to update the Changes.md file. |
I think switching the base branch from |
Generally describe what this PR will do, and why it is needed
Checklist