| Summary: | Sketch engine at low opacity cannot fully over paint black color with white one. | ||
|---|---|---|---|
| Product: | [Applications] krita | Reporter: | slomowicz |
| Component: | Brush engines | Assignee: | Krita Bugs <krita-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | info, slomowicz |
| Priority: | NOR | ||
| Version First Reported In: | nightly build (please specify the git hash!) | ||
| Target Milestone: | --- | ||
| Platform: | Microsoft Windows | ||
| OS: | Microsoft Windows | ||
| Latest Commit: | https://invent.kde.org/graphics/krita/-/commit/ea2372b28fbde357ed65ad332777ae0a4eb9d775 | Version Fixed/Implemented In: | |
| Sentry Crash Report: | |||
|
Description
slomowicz
2023-02-24 18:36:22 UTC
Confirmed in: krita-x64-5.3.0-prealpha-a6f9e8d6 Tested with Sketch Engine brushes set to painting mode wash. At Opacity <= 70%, full white (255, 255, 255) can not be reached. At Opacity >= 75%, full white (255, 255, 255) can be reached. The breakpoint must be somewhere between 70% and 75%. The lower the Opacity below 70%, the lower the max white that can be reached. Git commit ea2372b28fbde357ed65ad332777ae0a4eb9d775 by Dmitry Kazakov. Committed on 13/12/2024 at 12:13. Pushed by dkazakov into branch 'master'. [critical] Fixed opacity being applied twice(!) in some brushes It seem like during the brushes port to lager in 2022, I made a mistake in understanding what is `m_useSeparateStrengthValue` in `KisCurveOption`. It caused `KisOpacityOption` to apply opacity twice for some of the brushes. It means that for two years when the user selected any opacity for the brush, the actual opacity used for the brush was **squared**. I.e. when the user selected opacity 0.5, the real opacity was 0.25. This patch fixes the issue, but it **changes behavior** of existing brush presets. The list of affected brush engines: * Curve * Clone * Deform * Hairy * Hatching * Sketch * Spray The most popular brush engines, like Pixel and Color Smudge are **not** affected. I'm not sure this change should be backported to krita/5.2 since it changes behavior. CC:kimageshop@kde.org M +1 -1 plugins/paintops/colorsmudge/kis_colorsmudgeop.cpp M +2 -3 plugins/paintops/curvebrush/kis_curve_paintop.cpp M +2 -4 plugins/paintops/defaultpaintops/duplicate/kis_duplicateop.cpp M +2 -3 plugins/paintops/deform/kis_deform_paintop.cpp M +2 -3 plugins/paintops/hairy/kis_hairy_paintop.cpp M +2 -3 plugins/paintops/hatching/kis_hatching_paintop.cpp M +1 -1 plugins/paintops/libpaintop/KisFlowOpacityOption.cpp M +17 -9 plugins/paintops/libpaintop/KisOpacityOption.cpp M +6 -2 plugins/paintops/libpaintop/KisOpacityOption.h M +2 -3 plugins/paintops/sketch/kis_sketch_paintop.cpp M +2 -3 plugins/paintops/spray/kis_spray_paintop.cpp https://invent.kde.org/graphics/krita/-/commit/ea2372b28fbde357ed65ad332777ae0a4eb9d775 |