Skip to content

OutputQuery and OutputTweaks nodes #6971

@boberfly

Description

@boberfly

Summary

Having OutputQuery and OutputTweaks would come in-handy like the other query/tweak nodes but for the outputs of a renderer.

User story

What

  1. I'd like to query file paths for outputs and use this in an expression eg. to put into PxrCrytomatte.
  2. In an EditScope I'd like to tweak output settings like EXR compression or half/full float.
  3. Query all outputs and make a StringVector plug to pipe into CollectImages, or the layerNames parameter for dealing with channels into a GafferImage-based template.

Why

When converting output nodes from one renderer to another, it would be great to be able to use OptionQuery and OptionTweaks to modify existing outputs, or grabbing all outputs via a query and convert this to a StringVector plug to pipe into other things eg. ImageReader/Shuffle or CollectImages.

Feature proposal

Copy the OptionQuery/OptionTweaks nodes (as they work on globals already) and make OutputQuery/OutputTweaks that is more tailor made for typical output workflows, as well as allow adding/removing parameters.

Example scenario(s)

"I got this scene with outputs designed for Arnold but I want to make it work with Cycles. No problem! I will use my OutputTweaks to convert the data part to Cycles-friendly data."

"Oh no my cryptomattes made for Cycles won't translate to Renderman because in their wise decision decided to implement cryptomattes as a SampleFilter! No problem I'll whip out the old OutputQuery and wrangle all the filename outputs and pipe them into PxrCryptomatte and delete the outputs, done!"

"The batch outputs didn't use environment variables or string-substitution approaches and have hard-coded windows file paths and linux won't like this, lets just tweak those with linux-friendly pathing."

Implementation notes

I think a Collect node would work here with looping through globals?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions