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

Small RenderMan Renderer updates #6288

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

Conversation

johnhaddon
Copy link
Member

Fix for a crash rendering without outputs, and default lpe lobe definitions to match the ones advertised in the RenderManOptions node.

`CreateRenderTarget()` returns an invalid id if not given any outputs, and `CreateRenderView()` does the same if given an invalid render target. And attempting to render with an invalid view is a hard crash in RenderMan. So we catch this case and emit a warning instead.
These match the defaults defined in `startup/GafferScene/renderManOptions.py`.

Our usual mantra is "expose the renderer directly", in which case we shouldn't be trying to provide defaults at all. But in this case I think it's the lesser of the evils :

- If we don't define a default, it's a real faff to set up denoising, because all the documentation for it says to use `U6`, which isn't defined by default.
- Likewise the documented LPEs for separate diffuse and subsurface etc rely on these default definitions.
- If we don't define a default, then the defaults come from `rendermn.ini`, which as installed defines U2 but nothing else. If we allow `rendermn.ini` to be in charge, then it would be really hard to show the defaults (we'd have to parse all the `.ini` files manually to figure it out).
@johnhaddon johnhaddon self-assigned this Feb 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Pending Review
Development

Successfully merging this pull request may close these issues.

1 participant