Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@gmail.com>2019-08-14 16:30:26 +0300
committerStefan Werner <stefan.werner@tangent-animation.com>2019-08-14 22:40:35 +0300
commit5489611e53176ad4c1d5ac626db6377b27624cce (patch)
treee31b54de2e6ac9b0086267fe0638b6cac46459be /build_files/cmake/Modules
parent1845f0ee8b33698ddd48c22000004ad4084a77ab (diff)
Compositor: Added denoising node
This node is built on Intel's OpenImageDenoise library. Other denoisers could be integrated, for example Lukas' Cycles denoiser. Compositor: Made OpenImageDenoise optional, added CMake and build_env files to find OIDN Compositor: Fixed some warnings in the denoising operator build_environment: Updated OpenImageDenoise to 0.8.1 build_environment: Updated OpenImageDenoise in `make deps` for macOS Reviewers: sergey, jbakker, brecht Reviewed By: brecht Subscribers: YAFU, LazyDodo, Zen_YS, slumber, samgreen, tjvoll, yeus, ponomarovmax, getrad, coder.kalyan, vitos1k, Yegor, DeepBlender, kumaran7, Darkfie9825, aliasguru, aafra, ace_dragon, juang3d, pandrodor, cdog, lordodin, jtheninja, mavek, marcog, 5k1n2, Atair, rawalanche, 0o00o0oo, filibis, poor, lukasstockner97 Tags: #compositing Differential Revision: https://developer.blender.org/D4304
Diffstat (limited to 'build_files/cmake/Modules')
-rw-r--r--build_files/cmake/Modules/FindOpenImageDenoise.cmake101
1 files changed, 101 insertions, 0 deletions
diff --git a/build_files/cmake/Modules/FindOpenImageDenoise.cmake b/build_files/cmake/Modules/FindOpenImageDenoise.cmake
new file mode 100644
index 00000000000..85ba10b14e4
--- /dev/null
+++ b/build_files/cmake/Modules/FindOpenImageDenoise.cmake
@@ -0,0 +1,101 @@
+# - Find OpenImageDenoise library
+# Find the native OpenImageDenoise includes and library
+# This module defines
+# OPENIMAGEDENOISE_INCLUDE_DIRS, where to find oidn.h, Set when
+# OPENIMAGEDENOISE is found.
+# OPENIMAGEDENOISE_LIBRARIES, libraries to link against to use OpenImageDenoise.
+# OPENIMAGEDENOISE_ROOT_DIR, The base directory to search for OpenImageDenoise.
+# This can also be an environment variable.
+# OPENIMAGEDENOISE_FOUND, If false, do not try to use OpenImageDenoise.
+#
+# also defined, but not for general use are
+# OPENIMAGEDENOISE_LIBRARY, where to find the OpenImageDenoise library.
+
+#=============================================================================
+# Copyright 2019 Blender Foundation.
+#
+# Distributed under the OSI-approved BSD License (the "License");
+# see accompanying file Copyright.txt for details.
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+# See the License for more information.
+#=============================================================================
+
+# If OPENIMAGEDENOISE_ROOT_DIR was defined in the environment, use it.
+IF(NOT OPENIMAGEDENOISE_ROOT_DIR AND NOT $ENV{OPENIMAGEDENOISE_ROOT_DIR} STREQUAL "")
+ SET(OPENIMAGEDENOISE_ROOT_DIR $ENV{OPENIMAGEDENOISE_ROOT_DIR})
+ENDIF()
+
+SET(_openimagedenoise_SEARCH_DIRS
+ ${OPENIMAGEDENOISE_ROOT_DIR}
+ /usr/local
+ /sw # Fink
+ /opt/local # DarwinPorts
+ /opt/lib/openimagedenoise
+)
+
+FIND_PATH(OPENIMAGEDENOISE_INCLUDE_DIR
+ NAMES
+ OpenImageDenoise/oidn.h
+ HINTS
+ ${_openimagedenoise_SEARCH_DIRS}
+ PATH_SUFFIXES
+ include
+)
+
+SET(_openimagedenoise_FIND_COMPONENTS
+ OpenImageDenoise
+ common
+ mkldnn
+)
+
+SET(_openimagedenoise_LIBRARIES)
+FOREACH(COMPONENT ${_openimagedenoise_FIND_COMPONENTS})
+ STRING(TOUPPER ${COMPONENT} UPPERCOMPONENT)
+
+ FIND_LIBRARY(OPENIMAGEDENOISE_${UPPERCOMPONENT}_LIBRARY
+ NAMES
+ ${COMPONENT}
+ HINTS
+ ${_openimagedenoise_SEARCH_DIRS}
+ PATH_SUFFIXES
+ lib64 lib
+ )
+ LIST(APPEND _openimagedenoise_LIBRARIES "${OPENIMAGEDENOISE_${UPPERCOMPONENT}_LIBRARY}")
+ENDFOREACH()
+
+FIND_LIBRARY(OPENIMAGEDENOISE_LIBRARY
+ NAMES
+ OpenImageDenoise
+ HINTS
+ ${_openimagedenoise_SEARCH_DIRS}
+ PATH_SUFFIXES
+ lib64 lib
+ )
+
+# handle the QUIETLY and REQUIRED arguments and set OPENIMAGEDENOISE_FOUND to TRUE if
+# all listed variables are TRUE
+INCLUDE(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(OPENIMAGEDENOISE DEFAULT_MSG
+ OPENIMAGEDENOISE_LIBRARY OPENIMAGEDENOISE_INCLUDE_DIR)
+
+IF(OPENIMAGEDENOISE_FOUND)
+ SET(OPENIMAGEDENOISE_LIBRARIES ${_openimagedenoise_LIBRARIES})
+ SET(OPENIMAGEDENOISE_INCLUDE_DIRS ${OPENIMAGEDENOISE_INCLUDE_DIR})
+ELSE()
+ SET(OPENIMAGEDENOISE_FOUND FALSE)
+ENDIF()
+
+MARK_AS_ADVANCED(
+ OPENIMAGEDENOISE_INCLUDE_DIR
+)
+
+FOREACH(COMPONENT ${_openimagedenoise_FIND_COMPONENTS})
+ STRING(TOUPPER ${COMPONENT} UPPERCOMPONENT)
+ MARK_AS_ADVANCED(OPENIMAGEDENOISE_${UPPERCOMPONENT}_LIBRARY)
+ENDFOREACH()
+
+UNSET(_openimagedenoise_SEARCH_DIRS)
+UNSET(_openimagedenoise_FIND_COMPONENTS)
+UNSET(_openimagedenoise_LIBRARIES)