Blender  V3.3
denoiser_device.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: Apache-2.0
2  * Copyright 2011-2022 Blender Foundation */
3 
4 #pragma once
5 
6 #include "integrator/denoiser.h"
7 #include "util/unique_ptr.h"
8 
10 
11 /* Denoiser which uses device-specific denoising implementation, such as OptiX denoiser which are
12  * implemented as a part of a driver of specific device.
13  *
14  * This implementation makes sure the to-be-denoised buffer is available on the denoising device
15  * and invoke denoising kernel via device API. */
16 class DeviceDenoiser : public Denoiser {
17  public:
18  DeviceDenoiser(Device *path_trace_device, const DenoiseParams &params);
20 
21  virtual bool denoise_buffer(const BufferParams &buffer_params,
22  RenderBuffers *render_buffers,
23  const int num_samples,
24  bool allow_inplace_modification) override;
25 };
26 
DeviceDenoiser(Device *path_trace_device, const DenoiseParams &params)
virtual bool denoise_buffer(const BufferParams &buffer_params, RenderBuffers *render_buffers, const int num_samples, bool allow_inplace_modification) override
#define CCL_NAMESPACE_END
Definition: cuda/compat.h:9
uiWidgetBaseParameters params[MAX_WIDGET_BASE_BATCH]
ccl_gpu_kernel_postfix ccl_global float int int int int ccl_global const float int int int int int int int int int int int int num_samples