Blender Git Loki

Blender Git "compositor-anti-aliasing" branch commits.

March 27, 2021, 13:38 (GMT)
Cleanup Compositor AA: remove redundant initialization
March 27, 2021, 13:21 (GMT)
Cleanup: use one class for edge detection in Anti-Aliasing node
March 27, 2021, 11:59 (GMT)
Merge remote-tracking branch 'origin' into compositor-anti-aliasing
March 20, 2021, 12:53 (GMT)
Merge remote-tracking branch 'origin' into compositor-anti-aliasing

Conflicts:
source/blender/blenlib/intern/math_base_inline.c
March 20, 2021, 12:12 (GMT)
Cleanup: replace NULL with nullptr - use brackets around if
March 16, 2021, 21:09 (GMT)
Merge remote-tracking branch 'origin' into compositor-anti-aliasing
March 16, 2021, 21:05 (GMT)
Compositor Anti-Aliasing: addressed comments from code review

- Made node slightly larger to make text fit
- Renamed "Local Contrast Adaptation Factor" to "Contrast Limit"
- Removed unused enum
- Style: added brackets around if
- Style: Ran make format (excluded changes from unrelated files)
March 14, 2021, 16:20 (GMT)
Merge remote-tracking branch 'origin' into compositor-anti-aliasing
March 14, 2021, 16:18 (GMT)
Cleanup: Compositor anti-aliasing: rename and delete unused variables
March 13, 2021, 21:13 (GMT)
Compositor anti-aliasing: map values between 0 and 1

expose values in ranges between 0 and 1 to user
March 13, 2021, 14:03 (GMT)
Compositor: Add Anti-Aliasing node

This is an implementation of Enhanced Subpixel Morphological Antialiasing (SMAA)

The algorithm was proposed by:

Jorge Jimenez, Jose I. Echevarria, Tiago Sousa, Diego Gutierrez
Homepage URL:

http://www.iryoku.com/smaa/
This node provides only SMAA 1x mode, so the operation will be done with no spatial multisampling nor temporal supersampling.

Here is a comparison between existing antialiasing (Scale3x, imported from GIMP) and the Anti-Aliasing Node (SMAA 1x):

SMAA 1x produces much higher quality results than Scale3x.
The existing AA operation seems to be used only for binary images by some other nodes. Using SMAA for binary images needs no important parameter such as "threshold", so we perhaps can switch the operation to SMAA, though that changes existing behavior.

Currently, the node has 3 options:

threshold
local contrast adaptation factor
corner rounding
Please refer to devtalk thread for discussion about interface: https://devtalk.blender.org/t/compositor-anti-aliasing-node-d2411/17570

Example: Using Anti-Aliasing Node as an alternative of OLM smoother that is widely used in Japanese animation studios:

Notes:

The program code assumes the screen coordinates are DirectX style that the vertical direction is upside-down, so "top" and "bottom" actually represent bottom and top, respectively
smaa_areatex.cpp is a stand-alone software I [Shinsuke Irie] wrote for another project, so its copyright is still owned by me and under MIT-style license, see https://github.com/iRi-E/smaa-cpp
Unfortunately, this patch doesn't include OpenCL support (I'm not familiar with it...), though SMAA is not so slow
Tested on macOS 11.2.1
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021