-
Notifications
You must be signed in to change notification settings - Fork 196
Fix 40934: RVDisplayGroup's transfer function not being set to sRGB when loading media via pyeval #997
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
base: main
Are you sure you want to change the base?
Conversation
Signed-off-by: Patrick Bergeron <[email protected]>
| self._haveNewDisplayGroups = True | ||
| # BUGFIX: When a new RVDisplayGroup is created AFTER initial setup | ||
| # (e.g., when UI starts after -pyeval), configure it immediately | ||
| self.setDisplayFromProfile() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can't this interfere with the ocio_source_setup.py if OCIO mode is enabled ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it would be safer to move the pyeval further down the line where we know that the RVDisplayGroup has been properly initialized.
Like here for example:
OpenRV/src/lib/app/RvCommon/RvApplication.cpp
Line 879 in 65c6472
| # BUGFIX: Also handle RVOutputGroup in addition to RVDisplayGroup | ||
| # When RV is run in command-line mode (e.g., via -pyeval), it uses RVOutputGroup | ||
| # instead of RVDisplayGroup for the default display output | ||
| if ( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would really like to know what changed which led to this regression. I'll do some research in the original RV git repo and report back.
|
FYI: Status report of my investigation to figure out the source of this regression: Which makes sense because with progressive source loading, the source-group-complete is delayed long enough so that the RVDisplayGroup gets created. Without progressive source loading, the pyeval gets executed before the creation of RVDisplayGroup so the code in source_setup.py has no chance to be executed properly thus the bug. |
Linked issues
SG-40934
Summarize your change.
Using -pyeval to load movies stopped setting the Display Transfer Function to sRGB, leaving it at "None". This occurred because RV creates an RVOutputGroup node in command-line mode instead of RVDisplayGroup, and the Python code only checked for RVDisplayGroup nodes.
It was only later when the UI started (and after the data had been loaded) that actual RVDisplayGroups got created, but they weren't being configured.
I'm not sure how this ever worked in 2021.3 (it was in the days before OpenRV), but this fix seems to do the trick.
The fix:
Now the Display Transfer Function on the RVDisplayGroup is set to sRGB in all scenarios.
See below image for a full explanation of what happened.
Describe the reason for the change.
RVDisplayGroup's transfer function was not being set properly.
Describe what you have tested and on which operating system.
macOS
Add a list of changes, and note any that might need special attention during the review.
If possible, provide screenshots.