Summary: | rounding errors when using burn on floating point images cause artefacts | ||
---|---|---|---|
Product: | [Applications] krita | Reporter: | Lake <winter.wulf> |
Component: | Filter Layers | Assignee: | Dmitry Kazakov <dimula73> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | dimula73, halla, rmoerlandrj |
Priority: | NOR | ||
Version: | nightly build (please specify the git hash!) | ||
Target Milestone: | --- | ||
Platform: | Microsoft Windows | ||
OS: | Microsoft Windows | ||
URL: | http://i.imgur.com/jm68WIZ.jpg | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: | The buggy file |
Description
Lake
2016-05-16 23:37:46 UTC
I should also note that, on re-opening the file after the crash, the grey artifacts remain and refuse to be erased (including with the selection tool + clear command). Hi, Thanks for your report. We're busy with the final stages of release Krita 3.0, where a lot of the layer stack computation was rewritten. Could you please test with the most recent beta build whether you can still reproduce both issues? Created attachment 99126 [details]
The buggy file
Hello,
I installed the 3.0 beta and opened the file. It is still messed up, but on playing with it, I noticed some interesting behavior:
Painting over the buggy area of the canvas (even on a different layer as long as it is either the glitched layer or above it) is fine as long as you are painting at 100% opacity - if it is anything less, the area will remain untouched.
If you paint over the area with 100% opacity, you can then paint over it with any opacity - but if you erase the area, the bug will return.
If the Layer is set to anything less than 100% opacity, the buggy area will remain buggy (or become buggy) no matter what opacity the brush is set to. But setting it to 100% will cause any 100% opaque to suddenly be recalculated "correctly".
I also managed to paint over the buggy area with red and then erase over top of it, removing all the paint *except* the paint in the bugged area. I was able to do this repeatedly, but it was a few hours ago and I have since re-booted Krita and forgot how I managed to do it.
I have attached a copy of the file, so you may play around with it, if you would like.
Good luck!
Hm, looking at the file I see that it's a 16 bit float/channel file -- and I suspect that we're dealing with some rounding errors here. Confirming No longer a crash. Reconfirmed on Windows with version 5.3.0-alpha (3138bbd1) and 5.2.6 The reason why the bug happens is that the color values become negative :) This MR fixed the issue: https://invent.kde.org/graphics/krita/-/merge_requests/2294 :) |