Compositor: add new node: Kuwahara filter #107015

Merged
Habib Gahbiche merged 22 commits from zazizizou/blender:com-kuwahara-filter-node into main 2023-06-08 16:14:51 +02:00

22 Commits

Author SHA1 Message Date
Sergey Sharybin 401ea11d47 Cleanup: Revert changes in SMAA operation
The changes themselves are good, but is not a part of the
Kuwahara project. Need to somehow remember to re-apply the
changes in the main branch.
2023-06-08 12:56:46 +02:00
Sergey Sharybin d89739f3d5 Cleanup: carious changes to match the code style
- Add an empty line after first include.

  The idea is to include own header first, so that it is a bit
  better guaranteed that the header is self-sufficient. In order
  to keep the order an empty line is needed, so that clang-format
  does not move the own include to the bottom to keep an alphabetic
  order.

- Full stop in comments.

- Remove full-stop from the RNA description.

  There is warning about it in debug builds.
2023-06-08 12:55:21 +02:00
Sergey Sharybin 8f8a430a5d Cleanup: Use SPDX fields in file headers 2023-06-08 12:55:10 +02:00
Sergey Sharybin 2fee5865d0 Merge remote-tracking branch 'upstream/main' into com-kuwahara-filter-node 2023-06-08 12:52:58 +02:00
Habib Gahbiche 8805335270 Addressed comments from code review + Code style 2023-06-08 09:57:17 +02:00
Habib Gahbiche a904dfd504 Merge remote-tracking branch 'origin/main' into com-kuwahara-filter-node 2023-06-08 08:17:47 +02:00
Habib Gahbiche 50de355300 Merge remote-tracking branch 'origin/main' into com-kuwahara-filter-node 2023-05-29 08:28:42 +02:00
Habib Gahbiche b2c3e604de Fixed failing assert caused by typo in width and height 2023-05-13 13:27:27 +02:00
Habib Gahbiche f5a92f9fd6 Addressed comments in review & Code style changes 2023-05-13 13:15:40 +02:00
Habib Gahbiche 9890951544 Merge remote-tracking branch 'origin/main' into com-kuwahara-filter-node 2023-05-11 21:05:35 +02:00
Habib Gahbiche b015e78a96 Merge remote-tracking branch 'origin/main' into com-kuwahara-filter-node
buildbot/vexp-code-patch-coordinator Build done. Details
2023-05-06 22:19:15 +02:00
Habib Gahbiche f0780f9315 Tiled implementation and eliminated artefacts 2023-05-06 22:10:48 +02:00
Habib Gahbiche b76e5025bf Changed defaults and parameter naming after user feedback
buildbot/vexp-code-patch-coordinator Build done. Details
2023-05-01 17:33:55 +02:00
Habib Gahbiche 104f744ed6 Select region based on luminance instead of single channel values
buildbot/vexp-code-patch-coordinator Build done. Details
2023-04-30 07:49:19 +02:00
Habib Gahbiche 6a0c0a804d Merge remote-tracking branch 'origin/main' into com-kuwahara-filter-node
buildbot/vexp-code-patch-coordinator Build done. Details
2023-04-25 19:01:45 +02:00
Habib Gahbiche f9d1d30123 Merge remote-tracking branch 'origin/main' into com-kuwahara-filter-node 2023-04-25 19:01:20 +02:00
Habib Gahbiche bd12c2bd8e Compositor Kuwahara filter: Implement anisotropic variation 2023-04-25 18:59:52 +02:00
Habib Gahbiche f8c4f1a0e1 Use fixed size arrays instead of std::vector / clang-format 2023-04-18 15:35:28 +01:00
Habib Gahbiche 961b514570 Implement multi-threaded classical kuwahara filter 2023-04-18 10:18:42 +01:00
Habib Gahbiche 9f6ef78206 Merge remote-tracking branch 'origin' into com-kuwahara-filter-node 2023-04-16 23:34:25 +02:00
Habib Gahbiche 41e5526372 Remove debug output and set alpha = 1 for demo 2023-04-16 23:33:46 +02:00
Habib Gahbiche c1fb210be9 ompositor: add new node: Kuwahara filter
The filter is used to reduce noise while preserving edges. It can be used to create a cartoon effect from photorealistic images.

The idea is to offer two modes:
1) Calssic aka isotropic kuwahara filter: simple and faster computation. Algorithm splits an area around a single pixel in four parts and selects the mean of the region with the lowest standard deviation
2) Anisotropic Kuwahara filter: improve the classical approach by considering the direction of structures of regions

This patch implements the isotropic approach as a single threaded operation for the full-frame compositor
2023-04-16 22:57:06 +02:00