[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