diff options
author | Patrick Mours <pmours@nvidia.com> | 2019-09-12 15:50:06 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2019-09-13 12:50:11 +0300 |
commit | a2b52dc5716a97e5413acbd6eefc9ce3788b6456 (patch) | |
tree | 7e6d6c17b73671e67c1f7fbdadd821b4541f820f /build_files/cmake/Modules | |
parent | 53932f1f068501bfb095c407a7777a964dc5ec1c (diff) |
Cycles: add Optix device backend
This uses hardware-accelerated raytracing on NVIDIA RTX graphics cards.
It is still currently experimental. Most features are supported, but a few
are still missing like baking, branched path tracing and using CPU memory.
https://wiki.blender.org/wiki/Reference/Release_Notes/2.81/Cycles#NVIDIA_RTX
For building with Optix support, the Optix SDK must be installed. See here for
build instructions:
https://wiki.blender.org/wiki/Building_Blender/CUDA
Differential Revision: https://developer.blender.org/D5363
Diffstat (limited to 'build_files/cmake/Modules')
-rw-r--r-- | build_files/cmake/Modules/FindOptiX.cmake | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/build_files/cmake/Modules/FindOptiX.cmake b/build_files/cmake/Modules/FindOptiX.cmake new file mode 100644 index 00000000000..56fd2fd1396 --- /dev/null +++ b/build_files/cmake/Modules/FindOptiX.cmake @@ -0,0 +1,57 @@ +# - Find OptiX library +# Find the native OptiX includes and library +# This module defines +# OPTIX_INCLUDE_DIRS, where to find optix.h, Set when +# OPTIX_INCLUDE_DIR is found. +# OPTIX_ROOT_DIR, The base directory to search for OptiX. +# This can also be an environment variable. +# OPTIX_FOUND, If false, do not try to use OptiX. + +#============================================================================= +# 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 OPTIX_ROOT_DIR was defined in the environment, use it. +IF(NOT OPTIX_ROOT_DIR AND NOT $ENV{OPTIX_ROOT_DIR} STREQUAL "") + SET(OPTIX_ROOT_DIR $ENV{OPTIX_ROOT_DIR}) +ENDIF() + +SET(_optix_SEARCH_DIRS + ${OPTIX_ROOT_DIR} + "$ENV{PROGRAMDATA}/NVIDIA Corporation/OptiX SDK 7.0.0" + /usr/local + /sw # Fink + /opt/local # DarwinPorts +) + +FIND_PATH(OPTIX_INCLUDE_DIR + NAMES + optix.h + HINTS + ${_optix_SEARCH_DIRS} + PATH_SUFFIXES + include +) + +# handle the QUIETLY and REQUIRED arguments and set OPTIX_FOUND to TRUE if +# all listed variables are TRUE +INCLUDE(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(OptiX DEFAULT_MSG + OPTIX_INCLUDE_DIR) + +IF(OPTIX_FOUND) + SET(OPTIX_INCLUDE_DIRS ${OPTIX_INCLUDE_DIR}) +ENDIF(OPTIX_FOUND) + +MARK_AS_ADVANCED( + OPTIX_INCLUDE_DIR +) + +UNSET(_optix_SEARCH_DIRS) |