-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Agx UI toe shoulder sliders and primaries rotations #19642
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
Agx UI toe shoulder sliders and primaries rotations #19642
Conversation
|
Back to draft, checking an alternative way to calculate pivot y. |
…m exposure data, using the heuristics from filmic RGB.
…ly fixed in the GUI framework
…ft-over debug code; inset/outset hard-limited to 0.99
…ix exposure picker tooltip
…tter visibility (no bar from neutral position to selected value)
… rotation sliders always painted with reversed hues (showing the effect)
…) to find 'best' exposure instance to read data from
…ce to imageop; refactored finding the 'exposure' instance in develop.c.
…posure (should always be called withe gui_data available)
…r, _setup_hue_slider.
7fa6e9f to
01e016d
Compare
01e016d to
9d0621d
Compare
…licking the slider resets to 0 EV
…c; fixed a migration edge-case in agx.c.
TurboGit
left a comment
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.
A bit frightening so close from the release.
Some style comments and a question. TIA.
Yes, I know. I have not heard any bug reports from anyone, though. |
Can you tell me more about this? The way it works is clear, but what does it brings. Why the exposure level in exposure module is important, I mean a +2EV in the module don't say anything with the displayed result. We do expect the result to have a centered histogram (that's what we recommend for scene referred). So at the end having +2EV or -2EV should not make a difference. So why is that important? TIA. EDIT: My point is that is this is not very important maybe we can save an icon. |
This is intended to do something similar, but better, than what filmic rgb does. It reads the camera exposure compensation from the EXIF data, adds 0.7 EV (which is the scene-referred default), multiplies it by some heuristic factors and adjusts the base exposure range of -8 EV to +4 EV. However, this does not take manually set exposure into account (always uses 0.7 EV), messes with EXIF data, and also does not take the new highlight preservation exposure modifications into account. Lines 3182 to 3193 in d2ebf64
People seem to like it: We cannot do this automatically (the exposure module has not computed the exposure when reload_defaults is called), so the next best thing is the button. |
|
As I said the way it works is clear to me. My point is what does it brings? People like it, maybe... But I'm not convinced (yet) that this is really useful. And having something similar in FilmicRGB is not an argument :) The meaning I see is that we consider that the exposure as set in the exposure module is meant to center the histogram. And this is the base of some setting for the curve in AgX. Is that right? And if so, is that really important. The current picker, "reading" the image and determining the black/white exposure seems seems a better way. Again, I'm just trying to understand if this new extra button is really needed. |
|
I don't use it, but I guess people like it because they find it useful. 95% wanted it in some shape or form, either as a default (which 2/3 preferred, but we cannot do) or as a button. They say the picker that actually uses the image content gives results that are 'too harsh'. |
|
95% wanted out of 21 voters :) |
|
I'll continue my testing/review... |
The "camera" button is useful for images that are deliberately darkened when shooting (night shots or "golden hour at night"). Those when the histogram should be shifted to the left or right to embody the photographer's idea |
That might be so because it results in a more realistic ev range The default expects a range of 16.5 ev which results in dull highlights since most cameras doesn’t capture this range. That requires a manual correction of white relative exposure. Even if the automatic calculation like in filmic rgb is far from being perfect that about 2 ev reduced ev range value above mid grey gives a better starting point. And a better starting point - often good enough - is found useful;) but instead of adding a further setting button (the pickers already can be used to get a better initial setting) the initial setting for white relative exposure might be calculated instead of being hardcoded. (The black relative exposure isn‘t that sensitive to initial setting) |
I haven't found a way to do that. filmic rgb really just guesses: it uses a hard-coded 0.7 for the exposure correction, does not take the recently introduced highlight preservation (in-camera DR magic, underexposure) into account, and reads directly from the EXIF data. All of that is really the responsibility of the exposure module, which does that, and calculates an overall correction. However, at the time I did not (and do not) want to duplicate all the calculation exposure does. |
We could actually change the auto pickers ('camera' + auto tune exposure) so they only care about white, and set black automatically to maintain the shape of the curve (the black -> grey and grey -> white distance ratios), subject to the hard limits. The individual white / black pickers would continue to modify only the corresponding value. |
TurboGit
left a comment
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.
Ok, works for me. I'll merge this now to get some more field testing. Thanks for the work.
Can you open an issue to discuss the change of colored sliders in sigmoid and rgb primaries to look like AgX and ColorBalanceRGB? TIA.
_exposure.c_,develop.*andimageop.*. Unlike filmic, no estimate (using hard-coded exposure of 0.7 and reading the EXIF) is used, and no adjustment is done inreload_defaults, as the exposure instance is not yet available when it is called. The previous method (picking the limits based on image content) also remains.The consequences: