[Bf-blender-cvs] [d55289f3be9] temp-gpencil-bezier-stroke-type: Fix T86880: Cycles bevel shader not working after editing world

Brecht Van Lommel noreply at git.blender.org
Tue Apr 13 11:29:19 CEST 2021


Commit: d55289f3be9b7211b94709ea9fdaf78b5bf4b638
Author: Brecht Van Lommel
Date:   Mon Apr 12 20:10:07 2021 +0200
Branches: temp-gpencil-bezier-stroke-type
https://developer.blender.org/rBd55289f3be9b7211b94709ea9fdaf78b5bf4b638

Fix T86880: Cycles bevel shader not working after editing world

===================================================================

M	intern/cycles/render/geometry.cpp

===================================================================

diff --git a/intern/cycles/render/geometry.cpp b/intern/cycles/render/geometry.cpp
index 8b0c0d94155..bd2b8164cbb 100644
--- a/intern/cycles/render/geometry.cpp
+++ b/intern/cycles/render/geometry.cpp
@@ -1364,7 +1364,6 @@ void GeometryManager::device_update_bvh(Device *device,
   }
 
   dscene->data.bvh.root = pack.root_index;
-  dscene->data.bvh.bvh_layout = bparams.bvh_layout;
   dscene->data.bvh.use_bvh_steps = (scene->params.num_bvh_time_steps != 0);
   dscene->data.bvh.curve_subdivisions = scene->params.curve_subdivisions();
   /* The scene handle is set in 'CPUDevice::const_copy_to' and 'OptiXDevice::const_copy_to' */
@@ -1984,6 +1983,11 @@ void GeometryManager::device_update(Device *device,
     }
   }
 
+  /* Always set BVH layout again after displacement where it was set to none,
+   * to avoid ray-tracing at that stage. */
+  dscene->data.bvh.bvh_layout = BVHParams::best_bvh_layout(scene->params.bvh_layout,
+                                                           device->get_bvh_layout_mask());
+
   {
     scoped_callback_timer timer([scene](double time) {
       if (scene->update_stats) {



More information about the Bf-blender-cvs mailing list