Blender V4.3
integrator/guiding.h
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2011-2022 Blender Foundation
2 *
3 * SPDX-License-Identifier: Apache-2.0 */
4
5#pragma once
6
7#include "kernel/types.h"
8
10
12 /* The subset of path guiding parameters that can trigger a creation/rebuild
13 * of the guiding field. */
14 bool use = false;
15 bool use_surface_guiding = false;
16 bool use_volume_guiding = false;
17
20 float roughness_threshold = 0.05f;
22 bool deterministic = false;
23
24 GuidingParams() = default;
25
26 bool modified(const GuidingParams &other) const
27 {
28 return !((use == other.use) && (use_surface_guiding == other.use_surface_guiding) &&
29 (use_volume_guiding == other.use_volume_guiding) && (type == other.type) &&
30 (sampling_type == other.sampling_type) &&
31 (training_samples == other.training_samples) &&
32 (roughness_threshold == other.roughness_threshold) &&
33 (deterministic == other.deterministic));
34 }
35};
36
#define CCL_NAMESPACE_END
GuidingDirectionalSamplingType
@ GUIDING_DIRECTIONAL_SAMPLING_TYPE_PRODUCT_MIS
GuidingDistributionType
@ GUIDING_TYPE_PARALLAX_AWARE_VMM
GuidingParams()=default
GuidingDirectionalSamplingType sampling_type
bool modified(const GuidingParams &other) const