Skip to content
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 render sets and lightgroups support #5869

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

gkocov
Copy link
Collaborator

@gkocov gkocov commented May 27, 2024

Generally describe what this PR will do, and why it is needed

  • Added translation of Gaffer render:* sets to NSI sets.
  • Added support for lightgroups (lightsets in 3Delight terminology) based on the discussion in 3Delight extended outputs - outputlayers, lightsets, multilayer EXRs #5641. The lightgroups output parameter expects a space separated list supporting both individual light objects and render sets.
  • Updated the 3Delight output presets to include a lightgroup output parameter (empty by default).

Breaking changes

  • Changed src/GafferScene/Render.cpp and src/GafferScene/RenderController.cpp to create NSI outputs after scene objects instead of global options. This is required for NSI since in order for the light objects and render sets to be successfully connected to the lightset output attribute they need to be created before declaring the lightset connection. Unlike the previous implementation this is now limited to 3Delight and doesn't affect the other renderers. @johnhaddon I know you mentioned in 3Delight extended outputs - outputlayers, lightsets, multilayer EXRs #5641 that declaring the outputs after the scene objects doesn't sound logical, but I checked the official Houdini NSI plugin and it exports the outputs after the scene as well (it even exports the global options after the outputs, but I don't think we need to do that on our end).

Checklist

  • I have read the contribution guidelines.
  • I have updated the documentation, if applicable.
  • I have tested my change(s) in the test suite, and added new test cases where necessary.
  • My code follows the Gaffer project's prevailing coding style and conventions.

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.

1 participant