Details
SHA-1: e4a93d7b8c66530696d7599e7b7a4e735fe74f40
* Compositor: Add High Precision option to Kuwahara
For high radii Kuwahara, we use a Summed Area Table (SAT) implementation
to accelerate the classic variant of the algorithm. The problem is that
due to limited floating point precision, the SAT can produce artifacts
in its output.
An attempt to fix this was implemented in #114191, and while that patch
improved precision by 10x, the artifacts still existed, albeit less
noticeable. But since the improved precision also meant a performance
penalty, it was decided that the improvement is not worth it.
Since the artifacts are only noticeable for scenes with very high
values, this patch adds a High Precision option that defaults to false
and can be enabled by the user upon noticing any artifacts. The option
simply uses direction convolution instead of SAT in this case. The
downside, of course, is that it can be orders of magnitude slower.
An alternative to using this option is for the user to clamp the input
or downsample the image. Both methods should be documented in the
documentation.
Fixes: #113578.
Pull Request: https://projects.blender.org/blender/blender/pulls/115763
Document!
Details
SHA-1: e4a93d7b8c66530696d7599e7b7a4e735fe74f40 * Compositor: Add High Precision option to Kuwahara For high radii Kuwahara, we use a Summed Area Table (SAT) implementation to accelerate the classic variant of the algorithm. The problem is that due to limited floating point precision, the SAT can produce artifacts in its output. An attempt to fix this was implemented in #114191, and while that patch improved precision by 10x, the artifacts still existed, albeit less noticeable. But since the improved precision also meant a performance penalty, it was decided that the improvement is not worth it. Since the artifacts are only noticeable for scenes with very high values, this patch adds a High Precision option that defaults to false and can be enabled by the user upon noticing any artifacts. The option simply uses direction convolution instead of SAT in this case. The downside, of course, is that it can be orders of magnitude slower. An alternative to using this option is for the user to clamp the input or downsample the image. Both methods should be documented in the documentation. Fixes: #113578. Pull Request: https://projects.blender.org/blender/blender/pulls/115763