diff options
author | Kévin Dietrich <kevin.dietrich@mailoo.org> | 2021-03-23 17:55:01 +0300 |
---|---|---|
committer | Kévin Dietrich <kevin.dietrich@mailoo.org> | 2021-03-23 17:59:29 +0300 |
commit | 96e60cc22ca281cc68379e51a111afaf7fc0b718 (patch) | |
tree | 0e5742ca639da9059ea61830fedf1a61825883d3 | |
parent | 9e206039d4f6185be7720640758d4a7a2708c879 (diff) |
Fix T86567: Cycles crashes when playing back animated volumes
The crash is caused by an out of bound access in the kernel due to
missing data update when a Volume's voxel data changes. Although the
previous bounding mesh is cleared, the Volume Node was not tagged as
modified, and therefore never rebuilt.
To fix this, tag the Geometries (not just Volumes, to be more robust) as
modified in Geometry.clear().
Regression caused by rBbbe6d44928235cd4a5cfbeaf1a1de78ed861bb92.
-rw-r--r-- | intern/cycles/render/geometry.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/intern/cycles/render/geometry.cpp b/intern/cycles/render/geometry.cpp index 537f3d98c5c..e9a70e4b3fd 100644 --- a/intern/cycles/render/geometry.cpp +++ b/intern/cycles/render/geometry.cpp @@ -90,6 +90,7 @@ void Geometry::clear(bool preserve_shaders) transform_applied = false; transform_negative_scaled = false; transform_normal = transform_identity(); + tag_modified(); } bool Geometry::need_attribute(Scene *scene, AttributeStandard std) |