-
Notifications
You must be signed in to change notification settings - Fork 38
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
Revisit role assignments #61
Comments
Easy comments first: Interchange roles +1 default role - I'd go ACES2065-1 for a generic config, what we do internally it would be more likely ACEScg but that would be too big a shift for the public texture_paint - we do ACEScg primaries with a mixture of encoding functions "depending", but others might want something else. Colour picking - hmm the fact that views and displays are not a colour space per se appears to be topic du jour... |
IIRC, some applications like Maya are hard coded to use the rendering role. Why are they not using the scene_linear role? Good question. |
@flord , Maya uses the rendering role because, in practice, the scene_linear role is what is used for compositing and there are situations where they might need to be different (e.g. rendering in ACEScg but compositing in the camera primaries). |
Thinking about Liam's ticket #1667 -- would DCCs find it useful if we defined / enumerated either a
On the other hand, it might be more appropriate / less contrived for DCCs to let OCIO FileRules handle whatever DCCs intend to do with an "srgb_texture" role. |
Following on Zachs comment key for me would be to define the role in terms of what expectations it might have, for instance how do the applications expect it to relate to the other roles and colour spaces. Do they expect it is a full colour managed (including primaries conversion) or are they using it as a shorthand for being encoded with the sRGB transfer function, so that they can pass it direct to the GPU as a texture Looking at the houdini docs "If this variable is not defined, the OpenColorIO config file is searched for a colorspace that matches srgb, either fully or partially." sounds scary to me. With renderers it is quite possible they are making assumptions about true sRGB primaries and using that to do some kind of mapping to spectral for certain effects, or maybe not. |
I'll also comment that Substance's use of the sRGB is not the same as my previous comment:
this would not necessarily be compatible as the colour picker requirements might ned a view/display rendering and might be different depending on what other colour management is going on with the display. e.g. Should it be different if I have a P3 display vs a Rec709/1886 vs sRGB (whatever that means!) |
I find "color_picking: sRGB - Display" problematic as it results, for instance in Maya, in values well above 1 in shaders, breaking the PBR rule of energy conservation. I'd propose a more sensible default for picking colors found on a reflective surface material would be: color_picking: Utility - Linear - Rec.709 This is preferable to ACEScg as the colors on the edge of the ACEScg gamut are only found in lasers and such. That said, something a bit larger than Rec709 such as linear P3 might be worth considering. |
matte_paint: ACEScct This is probably something for Foundry to address, but thought I'd mention that Nuke uses the matte_paint role for the 8-bit default, and texture_paint as the 16-bit log default, which is the opposite of the above very sensible roles. That's a head-scratcher. |
Thanks for all the feedback! We've had a lot of discussion about this at the config working group meetings and also reached out to a few vendors. @sharktacos, thank you for your comment about the *_paint roles. We decided to continue with the type of mapping that was used in the previous ACES configs, even though they seem backwards, in order to minimize disruption to apps that rely on them. Here are the role assignments we wound up with for the initial release of the configs:
The points about the color_picking role and a possible role for an sRGB texture space are well taken and will be good to revisit after the 2.2 release. |
Seeing that the “default” role is not included. How will that effect color management in Maya? The default role there plays an important part in how we set up color management. Hope that won’t be going away. |
@sharktacos , the default role has been supplanted by the Default File Rule, which is still present (and set to the same value the default role had in the previous ACES configs). Maya uses the File Rules, so removing the default role should not have any impact, but please let us know if you find any issues. |
@doug-walker Thanks so much for clarifying. Yes, that works just fine in Maya. |
Just putting my vote to change From some historical git analysis I really think we're just persisting a bug/mistake to have it be ACEScc or ACEScct. Copying my comment from Slack here: Just took a look. It has only been this way for the singular ACES 1.0.3 config contributed by HPD. All other configs use a "raw" or "sRGB" display-referred space. In the README for that config (here) they say "texture_paint: Raw" as roles. |
Most of these changes have been implemented. Please open a new issue to request further changes. |
The role assignments from the aces_1.2 config have sometimes been controversial and should be re-evaluated for the new configs. The aces_1.2 roles were as follows:
Here's a proposed strawman with updated roles for people to react to:
Proposed changes:
The current draft of the CG config has the following roles:
So some of the proposed changes have already been implemented. Some roles were dropped and perhaps that is even preferable for some of the less used ones. But I wanted to ensure it's an intentional choice and create an issue to capture opinions.
The text was updated successfully, but these errors were encountered: