Blender Git Loki
Git Commits -> Revision a83b616
Revision a83b616 by Habib Gahbiche February 28, 2021, 11:21 (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 |
Commit Details:
Full Hash: a83b6160257a013f5d23fd2de7682f5e044fe1d4
Parent Commit: f3d60c6
Lines Changed: +6411, -1
9 Added Paths:
/extern/smaa_areatex/CMakeLists.txt (+26, -0) (View)
/extern/smaa_areatex/README.blender (+5, -0) (View)
/extern/smaa_areatex/smaa_areatex.cpp (+1208, -0) (View)
/source/blender/blenkernel/intern/node.c (+3829, -0) (View)
/source/blender/compositor/nodes/COM_AntiAliasingNode.cpp (+79, -0) (View)
/source/blender/compositor/nodes/COM_AntiAliasingNode.h (+36, -0) (View)
/source/blender/compositor/operations/COM_SMAAOperation.cpp (+908, -0) (View)
/source/blender/compositor/operations/COM_SMAAOperation.h (+152, -0) (View)
/source/blender/nodes/composite/nodes/node_composite_antialiasing.c (+73, -0) (View)
/extern/smaa_areatex/README.blender (+5, -0) (View)
/extern/smaa_areatex/smaa_areatex.cpp (+1208, -0) (View)
/source/blender/blenkernel/intern/node.c (+3829, -0) (View)
/source/blender/compositor/nodes/COM_AntiAliasingNode.cpp (+79, -0) (View)
/source/blender/compositor/nodes/COM_AntiAliasingNode.h (+36, -0) (View)
/source/blender/compositor/operations/COM_SMAAOperation.cpp (+908, -0) (View)
/source/blender/compositor/operations/COM_SMAAOperation.h (+152, -0) (View)
/source/blender/nodes/composite/nodes/node_composite_antialiasing.c (+73, -0) (View)
12 Modified Paths:
/extern/CMakeLists.txt (+4, -0) (Diff)
/release/scripts/startup/nodeitems_builtins.py (+1, -0) (Diff)
/source/blender/blenkernel/BKE_node.h (+1, -0) (Diff)
/source/blender/blenkernel/intern/node.cc (+1, -0) (Diff)
/source/blender/compositor/CMakeLists.txt (+25, -1) (Diff)
/source/blender/compositor/intern/COM_Converter.cpp (+4, -0) (Diff)
/source/blender/editors/space_node/drawnode.c (+14, -0) (Diff)
/source/blender/makesdna/DNA_node_types.h (+16, -0) (Diff)
/source/blender/makesrna/intern/rna_nodetree.c (+26, -0) (Diff)
/source/blender/nodes/CMakeLists.txt (+1, -0) (Diff)
/source/blender/nodes/NOD_composite.h (+1, -0) (Diff)
/source/blender/nodes/NOD_static_types.h (+1, -0) (Diff)
/release/scripts/startup/nodeitems_builtins.py (+1, -0) (Diff)
/source/blender/blenkernel/BKE_node.h (+1, -0) (Diff)
/source/blender/blenkernel/intern/node.cc (+1, -0) (Diff)
/source/blender/compositor/CMakeLists.txt (+25, -1) (Diff)
/source/blender/compositor/intern/COM_Converter.cpp (+4, -0) (Diff)
/source/blender/editors/space_node/drawnode.c (+14, -0) (Diff)
/source/blender/makesdna/DNA_node_types.h (+16, -0) (Diff)
/source/blender/makesrna/intern/rna_nodetree.c (+26, -0) (Diff)
/source/blender/nodes/CMakeLists.txt (+1, -0) (Diff)
/source/blender/nodes/NOD_composite.h (+1, -0) (Diff)
/source/blender/nodes/NOD_static_types.h (+1, -0) (Diff)