Version: svn trunk (using KDE 4.5.5) OS: Linux Current color selectors don't allow to select high range colors in 16/32 bits float files, though selecting such colors from canvas works. Reproducible: Always Steps to Reproduce: -Open SquaresSwirls.exr from the test files in this archive: http://download.savannah.nongnu.org/releases/openexr/openexr-images-1.7.0.tar.gz -move exposure to -10 -Select pure white on any color selector and paint with it using an opaque brush: it still ooks black at -10 exposure. -Now pick the white color inside the bottom-right swirl, and paint with it: there it's ok. Expected Results: color selectors should adapt to color mode and depth in 16/32 bits float files (and maybe be sensitive to exposure setting as well, this can be discussed)
Ack
The way the colour selector works for high dynamic range is: * you select the exposure you want to modify * and the colour of the selector is converted so that it looks on the canvas like in the colour selector at the given exposure I guess we could also have an exposure selector in the colour selector, but I think it makes more sense the way it is now. However bug 288714 makes it a bit complicated right now to understand how it works.
"* you select the exposure you want to modify * and the colour of the selector is converted so that it looks on the canvas like in the colour selector at the given exposure" I think here is the problem, here moving the exposure doesn't make any change on the color selector.
This is actually worse now, since the original method doesn't work atm.
There are two other incarnations of this bug: 1) Disable OCIO. Select any color, paint with it. The painted stroke will look different. 2) Enable OCIO. Set Exposure to 0.0, Gamma to 2.2. This is the only configuration, when the color in the color selector coincides with the one of the painted stroke.
Case 1) happens because in KisOpenGLImageTextures::tilesColorSpace() F16 and F32 branches do not use m_monitorProfile. I guess this is a bug. Will investigate further.
Another bug: F16 colorspace'd images do not work in non-openGL mode. The user should be at least warned about that.
(forgot to add: F16 images do not work with OCIO enabled and openGL disabled)
Git commit 4a02f4dc3e7c539d09de6869b6a318639eacb14c by Dmitry Kazakov. Committed on 17/04/2014 at 08:55. Pushed by dkazakov into branch 'krita-testing-kazakov'. Delegate color correction in KisMinimanShadeSelector to a separate class KisDisplayColorConverter is now in charge of all the color-related stuff inside of the color selector. Now it is only left to port other selectors to use it :) M +1 -0 krita/plugins/extensions/dockers/advancedcolorselector/CMakeLists.txt A +63 -0 krita/plugins/extensions/dockers/advancedcolorselector/kis_acs_types.h [License: GPL (v2+)] M +1 -1 krita/plugins/extensions/dockers/advancedcolorselector/kis_color_patches.cpp M +4 -2 krita/plugins/extensions/dockers/advancedcolorselector/kis_color_patches.h M +10 -23 krita/plugins/extensions/dockers/advancedcolorselector/kis_color_selector.cpp M +1 -1 krita/plugins/extensions/dockers/advancedcolorselector/kis_color_selector.h M +81 -78 krita/plugins/extensions/dockers/advancedcolorselector/kis_color_selector_base.cpp M +23 -7 krita/plugins/extensions/dockers/advancedcolorselector/kis_color_selector_base.h A +88 -0 krita/plugins/extensions/dockers/advancedcolorselector/kis_color_selector_base_proxy.cpp [License: GPL (v2+)] A +90 -0 krita/plugins/extensions/dockers/advancedcolorselector/kis_color_selector_base_proxy.h [License: GPL (v2+)] M +21 -5 krita/plugins/extensions/dockers/advancedcolorselector/kis_minimal_shade_selector.cpp M +10 -3 krita/plugins/extensions/dockers/advancedcolorselector/kis_minimal_shade_selector.h M +2 -4 krita/plugins/extensions/dockers/advancedcolorselector/kis_my_paint_shade_selector.cpp M +58 -55 krita/plugins/extensions/dockers/advancedcolorselector/kis_shade_selector_line.cpp M +17 -7 krita/plugins/extensions/dockers/advancedcolorselector/kis_shade_selector_line.h M +12 -2 krita/plugins/extensions/dockers/advancedcolorselector/kis_shade_selector_line_combo_box.cpp M +3 -0 krita/plugins/extensions/dockers/advancedcolorselector/kis_shade_selector_line_combo_box.h M +26 -17 krita/plugins/extensions/dockers/advancedcolorselector/kis_shade_selector_line_combo_box_popup.cpp M +4 -0 krita/plugins/extensions/dockers/advancedcolorselector/kis_shade_selector_line_combo_box_popup.h M +1 -0 krita/sketch/CMakeLists.txt M +50 -70 krita/sketch/ColorSelectorItem.cpp M +1 -0 krita/ui/CMakeLists.txt M +31 -43 krita/ui/canvas/kis_canvas2.cpp M +1 -5 krita/ui/canvas/kis_canvas2.h A +137 -0 krita/ui/canvas/kis_display_color_converter.cpp [License: GPL (v2+)] A +74 -0 krita/ui/canvas/kis_display_color_converter.h [License: GPL (v2+)] M +6 -0 krita/ui/canvas/kis_display_filter.h M +2 -2 krita/ui/opengl/kis_opengl_image_textures.cpp M +2 -2 krita/ui/opengl/kis_opengl_image_textures.h http://commits.kde.org/calligra/4a02f4dc3e7c539d09de6869b6a318639eacb14c