diff options
Diffstat (limited to 'openpgl6.patch')
-rw-r--r-- | openpgl6.patch | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/openpgl6.patch b/openpgl6.patch new file mode 100644 index 000000000000..1b57810a2032 --- /dev/null +++ b/openpgl6.patch @@ -0,0 +1,72 @@ +From eaccbab8f9ee66dc9c31ff29957fbb07fc096753 Mon Sep 17 00:00:00 2001 +From: bartus <szczepaniak.bartek+github@gmail.com> +Date: Thu, 15 Feb 2024 14:27:55 +0100 +Subject: [PATCH] OpenPGL:6 patch + +Replace PGLFieldArguments with FieldConfig class +--- + intern/cycles/integrator/path_trace.cpp | 26 ++++++++++++------------- + 1 file changed, 13 insertions(+), 13 deletions(-) + +diff --git a/intern/cycles/integrator/path_trace.cpp b/intern/cycles/integrator/path_trace.cpp +index cd5dca34d2a..903b34af193 100644 +--- a/intern/cycles/integrator/path_trace.cpp ++++ b/intern/cycles/integrator/path_trace.cpp +@@ -1286,41 +1286,41 @@ void PathTrace::set_guiding_params(const GuidingParams &guiding_params, const bo + guiding_params_ = guiding_params; + + if (guiding_params_.use) { +- PGLFieldArguments field_args; ++ openpgl::cpp::FieldConfig field_cfg; + switch (guiding_params_.type) { + default: + /* Parallax-aware von Mises-Fisher mixture models. */ + case GUIDING_TYPE_PARALLAX_AWARE_VMM: { +- pglFieldArgumentsSetDefaults( +- field_args, ++ field_cfg.Init( + PGL_SPATIAL_STRUCTURE_TYPE::PGL_SPATIAL_STRUCTURE_KDTREE, +- PGL_DIRECTIONAL_DISTRIBUTION_TYPE::PGL_DIRECTIONAL_DISTRIBUTION_PARALLAX_AWARE_VMM); ++ PGL_DIRECTIONAL_DISTRIBUTION_TYPE::PGL_DIRECTIONAL_DISTRIBUTION_PARALLAX_AWARE_VMM, ++ guiding_params.deterministic,32000); + break; + } + /* Directional quad-trees. */ + case GUIDING_TYPE_DIRECTIONAL_QUAD_TREE: { +- pglFieldArgumentsSetDefaults( +- field_args, ++ field_cfg.Init( + PGL_SPATIAL_STRUCTURE_TYPE::PGL_SPATIAL_STRUCTURE_KDTREE, +- PGL_DIRECTIONAL_DISTRIBUTION_TYPE::PGL_DIRECTIONAL_DISTRIBUTION_QUADTREE); ++ PGL_DIRECTIONAL_DISTRIBUTION_TYPE::PGL_DIRECTIONAL_DISTRIBUTION_QUADTREE, ++ guiding_params.deterministic,32000); ++ break; + break; + } + /* von Mises-Fisher mixture models. */ + case GUIDING_TYPE_VMM: { +- pglFieldArgumentsSetDefaults( +- field_args, ++ field_cfg.Init( + PGL_SPATIAL_STRUCTURE_TYPE::PGL_SPATIAL_STRUCTURE_KDTREE, +- PGL_DIRECTIONAL_DISTRIBUTION_TYPE::PGL_DIRECTIONAL_DISTRIBUTION_VMM); ++ PGL_DIRECTIONAL_DISTRIBUTION_TYPE::PGL_DIRECTIONAL_DISTRIBUTION_VMM, ++ guiding_params.deterministic,32000); + break; + } + } +- field_args.deterministic = guiding_params.deterministic; +- reinterpret_cast<PGLKDTreeArguments *>(field_args.spatialSturctureArguments)->maxDepth = 16; ++ field_cfg.SetSpatialStructureArgMaxDepth(16); + openpgl::cpp::Device *guiding_device = static_cast<openpgl::cpp::Device *>( + device_->get_guiding_device()); + if (guiding_device) { + guiding_sample_data_storage_ = make_unique<openpgl::cpp::SampleStorage>(); +- guiding_field_ = make_unique<openpgl::cpp::Field>(guiding_device, field_args); ++ guiding_field_ = make_unique<openpgl::cpp::Field>(guiding_device, field_cfg); + } + else { + guiding_sample_data_storage_ = nullptr; +-- +2.43.2 + |