[Bf-blender-cvs] [0ef4d5bf1bd] cycles_path_guiding: Cycles-X: Path Guiding: Adding OpenPGL cmake flags and use OpenPGLs cmake config from Blender's dependency
Sebastian Herholz
noreply at git.blender.org
Fri Jun 24 13:09:15 CEST 2022
Commit: 0ef4d5bf1bd23f5a4828c286d9d8ce359a057d36
Author: Sebastian Herholz
Date: Thu Jun 23 14:02:22 2022 +0200
Branches: cycles_path_guiding
https://developer.blender.org/rB0ef4d5bf1bd23f5a4828c286d9d8ce359a057d36
Cycles-X: Path Guiding: Adding OpenPGL cmake flags and use OpenPGLs cmake config from Blender's dependency
===================================================================
M CMakeLists.txt
M intern/cycles/CMakeLists.txt
M intern/cycles/cmake/external_libs.cmake
M intern/cycles/cmake/macros.cmake
M intern/cycles/integrator/CMakeLists.txt
===================================================================
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 31608b0c1ce..4241efd955a 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -449,6 +449,9 @@ if(NOT APPLE)
mark_as_advanced(CYCLES_HIP_BINARIES_ARCH)
endif()
+# Intel OpenPGL
+option(WITH_CYCLES_PATH_GUIDING "Build Cycles with path guiding support" OFF)
+
# Apple Metal
if(APPLE)
option(WITH_CYCLES_DEVICE_METAL "Enable Cycles Apple Metal compute support" ON)
diff --git a/intern/cycles/CMakeLists.txt b/intern/cycles/CMakeLists.txt
index f5d717e70fc..0af6ebdc021 100644
--- a/intern/cycles/CMakeLists.txt
+++ b/intern/cycles/CMakeLists.txt
@@ -338,6 +338,19 @@ if(WITH_OPENCOLORIO)
)
endif()
+if(WITH_CYCLES_PATH_GUIDING)
+ add_definitions(-DWITH_PATH_GUIDING)
+ add_definitions(-DWITH_PATH_GUIDING_DEBUG_PRINT)
+ add_definitions(-DPATH_GUIDING_LEVEL=5)
+ add_definitions(-DPATH_GUIDING_PHASE_FUNCTION_PRODUCT)
+ add_definitions(-DPATH_GUIDING_DEBUG_PASS)
+ add_definitions(-DPATH_GUIDING_DEBUG_VALIDATE)
+ include_directories(
+ SYSTEM
+ ${OPENPGL_INCLUDE_DIR}
+ )
+endif()
+
# NaN debugging
if(WITH_CYCLES_DEBUG_NAN)
add_definitions(-DWITH_CYCLES_DEBUG_NAN)
diff --git a/intern/cycles/cmake/external_libs.cmake b/intern/cycles/cmake/external_libs.cmake
index d2f30fe764b..e1e06198787 100644
--- a/intern/cycles/cmake/external_libs.cmake
+++ b/intern/cycles/cmake/external_libs.cmake
@@ -262,6 +262,18 @@ if(CYCLES_STANDALONE_REPOSITORY AND WITH_CYCLES_OSL)
endif()
endif()
+
+if(WITH_CYCLES_PATH_GUIDING)
+ if(NOT openpgl_DIR)
+ if(LIBDIR)
+ set(openpgl_DIR ${LIBDIR}/openpgl/lib/cmake/openpgl)
+ endif()
+ endif()
+ find_package(openpgl REQUIRED)
+ get_target_property(OPENPGL_LIBRARIES openpgl::openpgl LOCATION)
+ get_target_property(OPENPGL_INCLUDE_DIR openpgl::openpgl INTERFACE_INCLUDE_DIRECTORIES)
+endif()
+
###########################################################################
# OpenColorIO
###########################################################################
diff --git a/intern/cycles/cmake/macros.cmake b/intern/cycles/cmake/macros.cmake
index abadfc2c1ac..6ee26adb3ff 100644
--- a/intern/cycles/cmake/macros.cmake
+++ b/intern/cycles/cmake/macros.cmake
@@ -118,6 +118,9 @@ macro(cycles_external_libraries_append libraries)
if(WITH_ALEMBIC)
list(APPEND ${libraries} ${ALEMBIC_LIBRARIES})
endif()
+ if(WITH_PATH_GUIDING)
+ target_link_libraries(${target} ${OPENPGL_LIBRARIES})
+ endif()
list(APPEND ${libraries}
${OPENIMAGEIO_LIBRARIES}
diff --git a/intern/cycles/integrator/CMakeLists.txt b/intern/cycles/integrator/CMakeLists.txt
index 9722003083e..ef2a07854ec 100644
--- a/intern/cycles/integrator/CMakeLists.txt
+++ b/intern/cycles/integrator/CMakeLists.txt
@@ -65,6 +65,12 @@ if(WITH_OPENIMAGEDENOISE)
)
endif()
+if(WITH_CYCLES_PATH_GUIDING)
+ list(APPEND LIB
+ ${OPENPGL_LIBRARIES}
+ )
+endif()
+
include_directories(${INC})
include_directories(SYSTEM ${INC_SYS})
More information about the Bf-blender-cvs
mailing list