Bug 428766 - Density and Randomness auto brush options generate equal dabs when precision is low
Summary: Density and Randomness auto brush options generate equal dabs when precision ...
Status: RESOLVED FIXED
Alias: None
Product: krita
Classification: Applications
Component: Brush engines (show other bugs)
Version: 4.4.1
Platform: Compiled Sources Linux
: NOR normal
Target Milestone: ---
Assignee: Dmitry Kazakov
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-11-06 20:00 UTC by Dmitry Kazakov
Modified: 2020-12-11 11:35 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dmitry Kazakov 2020-11-06 20:00:20 UTC
STEPS TO REPRODUCE
1. Activate Auto Brush with Density or Randomness set to 50%
2. Set Precision to 1
3. See that noise repeats itself instead of being different for each dab

The problem happens because caching in KisDabCaching doesn't take random options into account
Comment 1 Dmitry Kazakov 2020-12-11 11:31:33 UTC
Git commit 026d181381735e7801966c356a45f261479814eb by Dmitry Kazakov.
Committed on 11/12/2020 at 11:31.
Pushed by dkazakov into branch 'krita/4.3'.

Fix caching problems of low-precision auto brushes with randomness

Random brushes cannot use caching. Well, theoretically, we can do that
as a post-processing, but we'd better just disable caching for such
brushes for now.

M  +5    -0    libs/brush/kis_auto_brush.cpp
M  +2    -0    libs/brush/kis_auto_brush.h
M  +5    -0    libs/brush/kis_brush.cpp
M  +2    -0    libs/brush/kis_brush.h
M  +2    -1    plugins/paintops/libpaintop/kis_dab_cache_base.cpp

https://invent.kde.org/graphics/krita/commit/026d181381735e7801966c356a45f261479814eb
Comment 2 Dmitry Kazakov 2020-12-11 11:35:07 UTC
Git commit ec421e0c22f19cb39a07ed5db58001718ceaf602 by Dmitry Kazakov.
Committed on 11/12/2020 at 11:34.
Pushed by dkazakov into branch 'master'.

Fix caching problems of low-precision auto brushes with randomness

Random brushes cannot use caching. Well, theoretically, we can do that
as a post-processing, but we'd better just disable caching for such
brushes for now.

M  +5    -0    libs/brush/kis_auto_brush.cpp
M  +2    -0    libs/brush/kis_auto_brush.h
M  +5    -0    libs/brush/kis_brush.cpp
M  +2    -0    libs/brush/kis_brush.h
M  +2    -1    plugins/paintops/libpaintop/kis_dab_cache_base.cpp

https://invent.kde.org/graphics/krita/commit/ec421e0c22f19cb39a07ed5db58001718ceaf602