SUMMARY When opening GMIC'QT and applying the Rain & Snow filter, the image below the raindrops turns black. STEPS TO REPRODUCE 1. Create a new empty file (in this case using the A4 300ppi default size, in landscape mode). 2. Choose any image and paste it in a new layer. Scale it to the canvas. 3. Select that layer, then start GMIC'QT. Search the Rain & Snow filter. In this document, the filter was set with these settings (I include this just in case): - Angle 80.28 - Speed 7.6 - Density 51.6% - Radius 0.318 - Gamma 1 - Opacity 1 - Input layers: active 4. Click Ok/Apply OBSERVED RESULT Instead of creating a new layer with the original image, the filter is applied on a black background. EXPECTED RESULT The filter should be applied on the original image. SOFTWARE/OS VERSIONS Windows: 10 64 bit, v. 2004 Qt Version: 2.9.2 ADDITIONAL INFORMATION There is a workaround for this filter to work: set the new layer blending mode to Addition/Screen and merge it with the layer below.
I see this with the 4.4.1 appimage and the Nov 29 4.4.2 alpha (git f8e7b97) appimage when used with the Nov 29 gmic_krita_qt-x86_64.appimage. The new layer from GMIC is set to Normal blending mode. With GIMP and GMIC, the 'Rain and Snow' Layer is placed above the source inage layer and is set to Screen blending mode. I don't know if this is a problem caused by GMIC or a shortfall in krita functionality for interfacing to GMIC. A quick check of a few GMIC degradation filters (Noise, Dirty, Add Grain, shows that they do not use this multilayer method. Setting to Confirmed
There are *three* bugs rolled into one here: - Krita does not (yet) parse and apply the layer mode, opacity, and name as sent by GMic, only its position (see https://invent.kde.org/graphics/krita/-/blob/master/plugins/extensions/qmic/kis_import_qmic_processing_visitor.cpp#L56-62, for spec https://discuss.pixls.us/t/how-to-name-a-layer-output-to-gimp/4824/5) - The GMic layer is improperly inserted *after* the original one (affects all nodes, see https://invent.kde.org/graphics/krita/-/blob/master/libs/image/kis_node.cpp#L505) - The original layer is not preserved, it gets recreated as "new layer from gmic filter". It should, at least, preserve its original name (see https://invent.kde.org/graphics/krita/-/blob/master/plugins/extensions/qmic/kis_qmic_synchronize_layers_command.cpp#L49).
Git commit 989076d90613167d7897b7f0d3f724b8bec35429 by Halla Rempt, on behalf of L. E. Segovia. Committed on 27/01/2021 at 14:28. Pushed by rempt into branch 'master'. GMic: parse and apply layer ordering and parameters This implements the correct ordering for received layers and the parameter specification as used by GMic. M +1 -1 libs/image/kis_node.cpp M +39 -3 plugins/extensions/qmic/kis_import_qmic_processing_visitor.cpp M +5 -0 plugins/extensions/qmic/kis_import_qmic_processing_visitor.h M +7 -0 plugins/extensions/qmic/kis_qmic_interface.cpp M +84 -2 plugins/extensions/qmic/kis_qmic_simple_convertor.cpp M +3 -0 plugins/extensions/qmic/kis_qmic_simple_convertor.h M +4 -1 plugins/extensions/qmic/kis_qmic_synchronize_layers_command.cpp https://invent.kde.org/graphics/krita/commit/989076d90613167d7897b7f0d3f724b8bec35429
Git commit 540942d8086e32fad496780d18f76addf97cf22e by L. E. Segovia. Committed on 23/12/2021 at 16:36. Pushed by lsegovia into branch 'master'. Use the G'MIC formatted layer name for Krita->G'MIC comms Related: bug 447293 M +1 -1 plugins/extensions/qmic/kis_qmic_interface.cpp https://invent.kde.org/graphics/krita/commit/540942d8086e32fad496780d18f76addf97cf22e
Git commit e003f328f73c438818ef749ec2239ddfbe81cacb by L. E. Segovia. Committed on 23/12/2021 at 16:38. Pushed by lsegovia into branch 'krita/5.0'. Use the G'MIC formatted layer name for Krita->G'MIC comms Related: bug 447293 (cherry picked from commit 540942d8086e32fad496780d18f76addf97cf22e) M +1 -1 plugins/extensions/qmic/kis_qmic_interface.cpp https://invent.kde.org/graphics/krita/commit/e003f328f73c438818ef749ec2239ddfbe81cacb