From f725f42af5a2c992c8cef8aa79bfc8e687df13c7 Mon Sep 17 00:00:00 2001 From: Jeroen Bakker Date: Fri, 26 Mar 2021 14:02:36 +0100 Subject: Cleanup: Remove SocketReader. SocketReader was added as an easier to understand interface on top of the NodeOperation. It was implemented as a base class of the NodeOperation and adds an additional hierarchy level. Ths change replaces the abstract class with a typedef. In the end we want to remove the typedef but will wait for some new nodes before doing so. --- source/blender/compositor/CMakeLists.txt | 2 -- 1 file changed, 2 deletions(-) (limited to 'source/blender/compositor/CMakeLists.txt') diff --git a/source/blender/compositor/CMakeLists.txt b/source/blender/compositor/CMakeLists.txt index 64033cbe5c4..6ae7fc04237 100644 --- a/source/blender/compositor/CMakeLists.txt +++ b/source/blender/compositor/CMakeLists.txt @@ -87,8 +87,6 @@ set(SRC intern/COM_OpenCLDevice.h intern/COM_SingleThreadedOperation.cc intern/COM_SingleThreadedOperation.h - intern/COM_SocketReader.cc - intern/COM_SocketReader.h intern/COM_WorkPackage.cc intern/COM_WorkPackage.h intern/COM_WorkScheduler.cc -- cgit v1.2.3 From 805d9478109e76ca221f202ff152bae685f77ff4 Mon Sep 17 00:00:00 2001 From: Habib Gahbiche Date: Mon, 29 Mar 2021 07:44:27 +0200 Subject: 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 This node provides only SMAA 1x mode, so the operation will be done with no spatial multisampling nor temporal supersampling. See Patch for comparisons. 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. Notes: 1. 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. Thanks for Habib Gahbiche (zazizizou) to polish and finalize this patch. Reviewed By: jbakker Differential Revision: https://developer.blender.org/D2411 --- source/blender/compositor/CMakeLists.txt | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'source/blender/compositor/CMakeLists.txt') diff --git a/source/blender/compositor/CMakeLists.txt b/source/blender/compositor/CMakeLists.txt index 6ae7fc04237..c8ee8af4542 100644 --- a/source/blender/compositor/CMakeLists.txt +++ b/source/blender/compositor/CMakeLists.txt @@ -294,6 +294,9 @@ set(SRC nodes/COM_FilterNode.h nodes/COM_InpaintNode.cc nodes/COM_InpaintNode.h + nodes/COM_AntiAliasingNode.cc + nodes/COM_AntiAliasingNode.h + operations/COM_BlurBaseOperation.cc operations/COM_BlurBaseOperation.h operations/COM_BokehBlurOperation.cc @@ -320,6 +323,8 @@ set(SRC operations/COM_MovieDistortionOperation.h operations/COM_VariableSizeBokehBlurOperation.cc operations/COM_VariableSizeBokehBlurOperation.h + operations/COM_SMAAOperation.cc + operations/COM_SMAAOperation.h # Matte nodes nodes/COM_BoxMaskNode.cc @@ -566,6 +571,23 @@ data_to_c( add_definitions(-DCL_USE_DEPRECATED_OPENCL_1_1_APIS) +set(GENSRC_DIR ${CMAKE_CURRENT_BINARY_DIR}/operations) +set(GENSRC ${GENSRC_DIR}/COM_SMAAAreaTexture.h) +add_custom_command( + OUTPUT ${GENSRC} + COMMAND ${CMAKE_COMMAND} -E make_directory ${GENSRC_DIR} + COMMAND "$" ${GENSRC} + DEPENDS smaa_areatex +) +add_custom_target(smaa_areatex_header + SOURCES ${GENSRC} +) +list(APPEND SRC + ${GENSRC} +) +unset(GENSRC) +unset(GENSRC_DIR) + if(WITH_INTERNATIONAL) add_definitions(-DWITH_INTERNATIONAL) endif() @@ -584,3 +606,5 @@ if(WITH_OPENIMAGEDENOISE) endif() blender_add_lib(bf_compositor "${SRC}" "${INC}" "${INC_SYS}" "${LIB}") + +add_dependencies(bf_compositor smaa_areatex_header) -- cgit v1.2.3