diff options
Diffstat (limited to 'intern/cycles/render/geometry.cpp')
-rw-r--r-- | intern/cycles/render/geometry.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/intern/cycles/render/geometry.cpp b/intern/cycles/render/geometry.cpp index 455959512fd..fdfce63bbeb 100644 --- a/intern/cycles/render/geometry.cpp +++ b/intern/cycles/render/geometry.cpp @@ -1129,7 +1129,10 @@ void GeometryManager::device_update_preprocess(Device *device, Scene *scene, Pro } } - if (geom->need_update_rebuild && geom->type == Geometry::VOLUME) { + /* Re-create volume mesh if we will rebuild or refit the BVH. Note we + * should only do it in that case, otherwise the BVH and mesh can go + * out of sync. */ + if (geom->need_update && geom->type == Geometry::VOLUME) { /* Create volume meshes if there is voxel data. */ if (!volume_images_updated) { progress.set_status("Updating Meshes Volume Bounds"); |