1. 18 May, 2017 1 commit
  2. 16 Sep, 2016 1 commit
  3. 10 Mar, 2016 1 commit
    • Dmitry Kazakov's avatar
      Greater-alpha blend mode · 888070bb
      Dmitry Kazakov authored
      This adds a blend mode that uses a sigmoid blending function
      to take the greater alpha of either the current layer or the brush.
      The result of this is that making multiple passes across the
      same area but with different strokes will not further increase
      the opacity past the brush setting or stylus pressure. This
      can help with consistently shading a region across multiple
      separate strokes without creating spurious or accidental
      sharp edges due to edge-overlaps with existing brush strokes.
      
      The patch was created by Nicholas Guttenberg
      
      Differential revision: https://phabricator.kde.org/D666
      888070bb
  4. 04 Sep, 2015 1 commit
    • Thorsten Zachmann's avatar
      This optimizes OpOver for RGBAF32 by using vc · 91016738
      Thorsten Zachmann authored
      New tests and benchmarks for the code have been added.
      
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverLegacy() Testing Composite Op: "normal" ( "RGBF32 Legacy" )
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverLegacy() "Aligned   Mask   SrcRand DstRand" RESULT: 143 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverLegacy() "DstUnalig Mask   SrcRand DstRand" RESULT: 142 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverLegacy() "SrcUnalig Mask   SrcRand DstRand" RESULT: 143 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverLegacy() "Unaligned Mask   SrcRand DstRand" RESULT: 144 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverLegacy() "Aligned   NoMask SrcRand DstRand" RESULT: 59 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverLegacy() "Aligned   NoMask SrcZero DstRand" RESULT: 9 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverLegacy() "Aligned   NoMask SrcUnit DstRand" RESULT: 21 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverLegacy() "Aligned   NoMask SrcRand DstZero" RESULT: 48 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverLegacy() "Aligned   NoMask SrcZero DstZero" RESULT: 9 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverLegacy() "Aligned   NoMask SrcUnit DstZero" RESULT: 18 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverLegacy() "Aligned   NoMask SrcRand DstUnit" RESULT: 22 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverLegacy() "Aligned   NoMask SrcZero DstUnit" RESULT: 9 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverLegacy() "Aligned   NoMask SrcUnit DstUnit" RESULT: 16 msec
      PASS   : KisCompositionBenchmark::testRgbF32CompositeOverLegacy()
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverOptimized() Testing Composite Op: "normal" ( "RGBF32 Optimized" )
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverOptimized() "Aligned   Mask   SrcRand DstRand" RESULT: 17 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverOptimized() "DstUnalig Mask   SrcRand DstRand" RESULT: 17 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverOptimized() "SrcUnalig Mask   SrcRand DstRand" RESULT: 28 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverOptimized() "Unaligned Mask   SrcRand DstRand" RESULT: 27 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverOptimized() "Aligned   NoMask SrcRand DstRand" RESULT: 17 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverOptimized() "Aligned   NoMask SrcZero DstRand" RESULT: 4 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverOptimized() "Aligned   NoMask SrcUnit DstRand" RESULT: 13 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverOptimized() "Aligned   NoMask SrcRand DstZero" RESULT: 16 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverOptimized() "Aligned   NoMask SrcZero DstZero" RESULT: 4 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverOptimized() "Aligned   NoMask SrcUnit DstZero" RESULT: 12 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverOptimized() "Aligned   NoMask SrcRand DstUnit" RESULT: 13 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverOptimized() "Aligned   NoMask SrcZero DstUnit" RESULT: 4 msec
      QDEBUG : KisCompositionBenchmark::testRgbF32CompositeOverOptimized() "Aligned   NoMask SrcUnit DstUnit" RESULT: 12 msec
      PASS   : KisCompositionBenchmark::testRgbF32CompositeOverOptimized()
      
      (cherry picked from commit 3be07eee35505bf754f12617e5d9059c03c44d7c)
      91016738
  5. 01 Aug, 2015 1 commit
  6. 12 May, 2015 1 commit
  7. 02 Mar, 2015 1 commit
    • Wolthera van Hövell's avatar
      Adding tangent normal map blending mode to krita. · 42ce952f
      Wolthera van Hövell authored
      This patch adds a tangent normal map blending mode to Krita. It works by
      taking the base value and substracting that from the destination before adding
      it onto the source. It's still experimental in that it needs testing.
      
      It's to be found under misc.
      
      I had a huge fight with git to get my working branch synced to master,
      and I am pretty sure it's clean now, but if I messed up the branch, feel free
      to revert this commit.
      42ce952f
  8. 07 Feb, 2015 1 commit
  9. 15 Jan, 2015 1 commit
  10. 09 Jan, 2013 2 commits
  11. 16 Oct, 2012 1 commit
    • Dmitry Kazakov's avatar
      Added Vc implementation of the "over" composite · 8e76b3b6
      Dmitry Kazakov authored
      There is still one bug in both the composites: the calculation
      of a single pixel compositions should be done in float instead of
      integers, otherwise it causes artifacts on the canvas during painting.
      8e76b3b6
  12. 15 Oct, 2012 1 commit
  13. 10 Aug, 2012 1 commit
  14. 03 Jun, 2012 1 commit
    • Halla Rempt's avatar
      Use LCMS, not CTLCS for 32 bit float colorspaces · f51b30ac
      Halla Rempt authored
      This merges branch pigment-lcms2_rgbaf32-rempt. When lcms2 supports
      16 bit floating point numbers, the last two colorspaces will be
      moved from ctlcs to lcms, effectively retiring ctlcs. The technology
      was way cool, but it's easier to support all features in lcms.
      
      This also changes pigment:
      
      * if an icc-based colorspace factory is encountered for which there
      are no profiles, don't assert but warn and disregard the factory
      * previously, if the color conversion graph would encounter its
      base alpha 8 node, we would assert because there was no factory for
      alpha8.
      * the colorspace traits are now made complete and split out in
      separate files for easier editing.
      
      This also adds a bunch of more or less useful variations of colorspaces
      to the lcms2, as well as whole new YCbCr classes. For which there are
      no free profiles available, so users will have to provide those, for
      instance from the lcms2 website.
      
      Squashed commit of the following:
      
      commit cea6e6ebee30c19c080...
      f51b30ac
  15. 25 Apr, 2012 1 commit
  16. 23 Oct, 2011 1 commit
    • Halla Rempt's avatar
      Remove KoCompositeOp::userVisible · 8c23368c
      Halla Rempt authored
      userVisible was no longer used, so remove from the api. Query: isn't
      the category string also obsolete since commit 84e57495069833f647f7a41511d451eafae69737
      (Replaced the old composite op ComboBox with a new one.)?
      8c23368c
  17. 24 May, 2011 2 commits
  18. 29 Apr, 2011 1 commit
  19. 18 Apr, 2011 1 commit
  20. 12 Apr, 2011 1 commit
  21. 16 Mar, 2011 1 commit
  22. 14 Feb, 2011 1 commit
  23. 11 Feb, 2011 1 commit
  24. 09 Feb, 2011 1 commit
  25. 08 Feb, 2011 1 commit
  26. 07 Feb, 2011 1 commit
  27. 06 Feb, 2011 9 commits
  28. 19 Jan, 2011 3 commits