Skip to content
This repository has been archived by the owner on Sep 20, 2024. It is now read-only.

Nuke: option to bake viewer ip before slate #3413

Closed
wants to merge 2 commits into from
Closed

Nuke: option to bake viewer ip before slate #3413

wants to merge 2 commits into from

Conversation

maxpareschi
Copy link
Contributor

Brief description

Introduce an optional workflow to bake viewer input process before the slate.

Description

This pr introduces an optional workflow that is intended to not change the colorspace of the slate by applying the viewer input process baking before the actual slate.
We use this since our slate layouts itself after the input resolution, and our Input process has also the ability to repo and reformat.
Also, it does not make sense to us to apply a lut on the slate, especially if CDL + LUT are very invasive.
The code also compensate for viewer process baking, where if Rec.709 is used (for instance) to bake the slate the source gts converted form Rec.709 to linear before the slate to have correct colors in the slate itself (in case of thumbnails)

Additional info

Setting for this live under Project Settings > Nuke > Publish Plugins > ExtractSlateFrame
there's a new boolean switch called "Bake Viewer IP berfore Slate"
Also, we found the problem with nuke.nodeCopy and nodePaste, which is that the system clipboard when OP is driving nuke is sometimes not available. Fortunately the same functionality can be used by specifying a text file, which we save in the instance staging directory.

Documentation (add "type: documentation" label)

no docs

Testing notes:

  1. enable this under Project Settings > Nuke > Publish Plugins > ExtractSlateFrame > Bake Viewer IP berfore Slate
  2. You should see the viewer input process node copied before the slate and the slate connected after it when publishing

@mkolar mkolar added the type: enhancement Enhancements to existing functionality label Jun 27, 2022
@mkolar mkolar changed the title option to bake viewer ip before slate Nuke: option to bake viewer ip before slate Jun 27, 2022
@@ -98,18 +108,65 @@ def render_slate(self, instance):
if "#" in fhead:
fhead = fhead.replace("#", "")[:-1]

previous_node = node
# Create a text file in staging dir to use as a
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Few comments regarding this. There is no reason why to store clipboard path to instance.data. Also adding temp file to staging dir is not a good idea. Then it seems that the clipboard path is used for duplication of nodes, if it's so then there is a function duplicate_node in openpype.hosts.nuke.api.lib. If it's not enough then function _duplicate_node_temp can be made as public and used here. Which does actually similar thing.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

unfortunately i've seen that the code changes we did are built on 3.11.1, whereas develop changed a lot of the stuff in extract_slate_frame. There was no function like that at that time.
I need to test this on develop to actually see if this just works as we would like and propose the fixes there.

@jakubjezek001
Copy link
Member

This issue was solved in #3245. It is baking the thumbnail slate before the slate node input. It is ofcourse depending on options comming from ExctractReviewDataMov.

Thank you very much @maxpareschi for your approach, we had already in development the multistream workflow and slate processing was the next step.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
type: enhancement Enhancements to existing functionality
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants