Summary: | Weird brush spacing with rotation->drawing angle | ||
---|---|---|---|
Product: | [Applications] krita | Reporter: | Francesco B. <charblaze> |
Component: | Brush engines | Assignee: | Dmitry Kazakov <dimula73> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | charblaze, dimula73, halla, info, joupent |
Priority: | NOR | ||
Version: | git master (please specify the git hash!) | ||
Target Milestone: | --- | ||
Platform: | Compiled Sources | ||
OS: | Linux | ||
URL: | http://www.youtube.com/watch?v=wBDSc3xn3D4 | ||
Latest Commit: | http://commits.kde.org/calligra/ee2ad09322752ff9067a7a57e3ed5ebf268c1799 | Version Fixed In: | |
Sentry Crash Report: | |||
Attachments: |
Chain brush broken by the spacing variation on diagonal and curved strokes.
A *.kpp brush preset to reproduce the bug easily the KPP preset encapsuled in a ZIP [^ screenshot : drawing angle test with a 'knife' like brush ] Experimental change to ignore rotation [^ mini visual guide to reproduce the bug easily ] [^ screenshot : 'nyancat brush' is back ! ] |
Description
Francesco B.
2013-12-20 08:21:02 UTC
Created attachment 84193 [details]
A *.kpp brush preset to reproduce the bug easily
( to be copied into ~/.kde/share/apps/krita/paintoppresets )
a brush preset who reproduce the bug of Francesco B ; trace orthogonal lines = ok spacing , trace diagonal = larger spacing.
I confirm also the bug ( and the grave status of it ) as it might affect users with a popular speed-painting workflow rellying a lot on brush pattern.
Created attachment 84194 [details]
the KPP preset encapsuled in a ZIP
I saw the bugtracker detected the KPP as a PNG , so I paste here another version of it encapsuled into a ZIP, to prevent the server to do PNG optimisations probably responsible of crunching the *.kpp data/metadata.
to extract in ~/.kde/share/apps/krita/paintoppresets
Confirmed. It is not quite easy to implement it this way, though. (In reply to comment #3) > Confirmed. It is not quite easy to implement it this way, though. It seems that one year ago it worked correctly. From the wiki: http://userbase.kde.org/File:Krita-tutorial4-I.3.a-5.png So It may be a regression rather than a new bug. Hi, Francesco! I have just check, and it seems the problem happens, because now the Spacing is Anisotropic by default, that is it depends on the Aspect Ratio of the brush. Could you please go to Spacing option and tick the "Isotropic Spacing" checkbox and check whether you still have a bug or not? 2All: Probably, we should change the default value for the Spacing option? Hi, Dmitry! The bug happens even with isotropic spacing checked and with brushes with 1:1 aspect ratio, like the predefined brush U Circle shape 1. Reopen then Created attachment 90287 [details]
[^ screenshot : drawing angle test with a 'knife' like brush ]
I add here another screenshot from 2.9beta : the two painting shapes in the scratch paintpad are painted with the same preset with drawing angle and it's evident the spacing are different if the stroke is diagonal or vertical/horyzontal.
I wanted to make a color-smudge rake preset today, but this bug introduce too much banding in the diagonal angle of the resulting stroke ( on color-smudge , low spacing ).
Created attachment 90524 [details]
Experimental change to ignore rotation
This is just a quick duct-tape change to test how the things would work if we completely ignore rotation for brush spacing.
Posting this as requested on IRC.
Created attachment 90526 [details] [^ mini visual guide to reproduce the bug easily ] @tyyppi : I tried the patch, unfortunately it doesn't fix the issue. But it scratch the right zone ; because the effect is different than before ( https://bugsfiles.kde.org/attachment.cgi?id=90287 ). It feels like if the vertical strokes want to adapt spacing to the vertical brush tip geometry ( with ratio) , while the horyzontal adapt to the horyzontal (with ratio too). It sounds logical if the brush doesn't rotate ( to preserve a visual spacing based in percent ). Ok, I know how to solve this bug. I will implement it on Tuesday. The rotation should be calculated in the elliptical equation instead of the effective size. Git commit ee2ad09322752ff9067a7a57e3ed5ebf268c1799 by Dmitry Kazakov. Committed on 27/01/2015 at 12:18. Pushed by dkazakov into branch 'calligra/2.9'. Fix spacing of rotational brushes The rotation should be counted not in the characteristic size but in the elliptical equation for the spacing. M +17 -4 krita/image/kis_distance_information.cpp M +8 -2 krita/image/kis_distance_information.h M +9 -6 krita/plugins/paintops/libpaintop/kis_brush_based_paintop.cpp M +1 -1 krita/plugins/paintops/libpaintop/kis_brush_based_paintop.h http://commits.kde.org/calligra/ee2ad09322752ff9067a7a57e3ed5ebf268c1799 Created attachment 90773 [details]
[^ screenshot : 'nyancat brush' is back ! ]
Many thanks Dmitry ! I just came back from a full week away in family, and I'm just testing your fix. Really cool; it unlocks a lot of possibilities with the brush engine. Thanks again.
|