Skip to content

GafferScene : Add ShuffleRenderPasses node#6332

Merged
johnhaddon merged 2 commits intoGafferHQ:1.5_maintenancefrom
murraystevenson:shuffleRenderPasses
Mar 28, 2025
Merged

GafferScene : Add ShuffleRenderPasses node#6332
johnhaddon merged 2 commits intoGafferHQ:1.5_maintenancefrom
murraystevenson:shuffleRenderPasses

Conversation

@murraystevenson
Copy link
Copy Markdown
Contributor

This adds a ShuffleRenderPasses node allowing procedural renaming and copying of render passes.

Shuffling a render pass updates the contents of the renderPass:names option in the scene output by the node, and remaps the value of the ${renderPass} context variable upstream of the node. This node opens up new workflows where users can create "child" or "derived" render passes that inherit their settings from an upstream render pass, though it likely hastens the need for inspecting the history of a particular render pass and for warnings in the Render Pass Editor if you attempt to edit a shuffled render pass in an edit scope upstream of its originating ShuffleRenderPasses node...

@murraystevenson murraystevenson self-assigned this Mar 26, 2025
Copy link
Copy Markdown
Member

@johnhaddon johnhaddon left a comment

Choose a reason for hiding this comment

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

Thanks Murray, this is fun (in a mind-boggling sort of way!).

it likely hastens the need for inspecting the history of a particular render pass and for warnings in the Render Pass Editor if you attempt to edit a shuffled render pass in an edit scope upstream of its originating ShuffleRenderPasses node...

Yeah, anything we can do to help folks navigate the context switch will be very worthwhile. I was pleased to see that the active row highlighting for RenderPassOptions spreadsheets shows you the source row when viewing upstream of a shuffle, so we already have some diagnostics in place. I think it's OK to roll out without further diagnostics, with the intention of starting a dialogue with a few power users as to how this might fit into their workflows.

For the edit warning, it seems like we need Inspector::acquireEdit() to also provide the context at that point in the graph? Oh, but maybe we can get that straight from the ContextTracker? And if $renderPass differs from the current value, display it? I think this might be one of those ones that comes across better as Info than Warning - something like this?

ℹ️ Editing source render pass foo

Maybe that's not too hard to achieve?

@johnhaddon johnhaddon force-pushed the shuffleRenderPasses branch from 1666647 to c1202b2 Compare March 28, 2025 09:26
@johnhaddon johnhaddon merged commit 4e025e1 into GafferHQ:1.5_maintenance Mar 28, 2025
5 checks passed
@johnhaddon
Copy link
Copy Markdown
Member

Thanks Murray - squashed and merged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants