02b5e27f89
OpenImageDenoise V2 comes with GPU support for various backends. This adds a new class, OIDNDenoiserGPU, in order to add this functionality into the existing Cycles post processing pipeline without having to change it much. OptiX and OIDN CPU denoising remain as they are. Rendering on a supported Intel GPU will automatically select the GPU denoiser. Device support is initially limited to the oneAPI devices that are supported by Cycles, but can be extended. Ref #115045 Co-authored-by: Stefan Werner <stefan.werner@intel.com> Co-authored-by: Ray Molenkamp <github@lazydodo.com> Pull Request: https://projects.blender.org/blender/blender/pulls/108314
85 lines
1.4 KiB
CMake
85 lines
1.4 KiB
CMake
# SPDX-FileCopyrightText: 2011-2022 Blender Foundation
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
set(INC
|
|
..
|
|
)
|
|
|
|
set(INC_SYS
|
|
)
|
|
|
|
set(SRC
|
|
adaptive_sampling.cpp
|
|
denoiser.cpp
|
|
denoiser_gpu.cpp
|
|
denoiser_oidn.cpp
|
|
denoiser_oidn_gpu.cpp
|
|
denoiser_optix.cpp
|
|
path_trace.cpp
|
|
tile.cpp
|
|
pass_accessor.cpp
|
|
pass_accessor_cpu.cpp
|
|
pass_accessor_gpu.cpp
|
|
path_trace_display.cpp
|
|
path_trace_tile.cpp
|
|
path_trace_work.cpp
|
|
path_trace_work_cpu.cpp
|
|
path_trace_work_gpu.cpp
|
|
render_scheduler.cpp
|
|
shader_eval.cpp
|
|
work_balancer.cpp
|
|
work_tile_scheduler.cpp
|
|
)
|
|
|
|
set(SRC_HEADERS
|
|
adaptive_sampling.h
|
|
denoiser.h
|
|
denoiser_gpu.h
|
|
denoiser_oidn.h
|
|
denoiser_oidn_gpu.h
|
|
denoiser_optix.h
|
|
guiding.h
|
|
path_trace.h
|
|
tile.h
|
|
pass_accessor.h
|
|
pass_accessor_cpu.h
|
|
pass_accessor_gpu.h
|
|
path_trace_display.h
|
|
path_trace_tile.h
|
|
path_trace_work.h
|
|
path_trace_work_cpu.h
|
|
path_trace_work_gpu.h
|
|
render_scheduler.h
|
|
shader_eval.h
|
|
work_balancer.h
|
|
work_tile_scheduler.h
|
|
)
|
|
|
|
set(LIB
|
|
cycles_device
|
|
|
|
# NOTE: Is required for RenderBuffers access. Might consider moving files around a bit to
|
|
# avoid such cyclic dependency.
|
|
cycles_session
|
|
|
|
cycles_util
|
|
)
|
|
|
|
if(WITH_OPENIMAGEDENOISE)
|
|
list(APPEND LIB
|
|
${OPENIMAGEDENOISE_LIBRARIES}
|
|
)
|
|
endif()
|
|
|
|
if(WITH_CYCLES_PATH_GUIDING)
|
|
list(APPEND LIB
|
|
${OPENPGL_LIBRARIES}
|
|
)
|
|
endif()
|
|
|
|
include_directories(${INC})
|
|
include_directories(SYSTEM ${INC_SYS})
|
|
|
|
cycles_add_library(cycles_integrator "${LIB}" ${SRC} ${SRC_HEADERS})
|