diff options
author | Kévin Dietrich <kevin.dietrich@mailoo.org> | 2021-03-24 12:36:31 +0300 |
---|---|---|
committer | Kévin Dietrich <kevin.dietrich@mailoo.org> | 2021-03-24 12:41:29 +0300 |
commit | 42198e9eb03bdc5494c3717c6b1643539ef06231 (patch) | |
tree | e41e4c8a230f3b3f50a5890872fd4dfadf428be5 /intern/cycles/render/geometry.h | |
parent | 6b18678e34bfbe2e95430fa7491ed1d3fad4ff3a (diff) |
Fix T86601: Cycles accumulates displacement when transforming an Object
In order to update the BVH when only the transformations are changing,
we would tag the Object's Geometry as modified. However, when
displacement is used, and the vertices were not themselves modified,
this would cause us to redo the displacement on already displaced
vertices.
To fix this, use a specific update flag for detecting and notifying that
transformations were modified.
Regression caused by rBbbe6d44928235cd4a5cfbeaf1a1de78ed861bb92.
Diffstat (limited to 'intern/cycles/render/geometry.h')
-rw-r--r-- | intern/cycles/render/geometry.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/intern/cycles/render/geometry.h b/intern/cycles/render/geometry.h index fe30f3a807c..abdd851a089 100644 --- a/intern/cycles/render/geometry.h +++ b/intern/cycles/render/geometry.h @@ -189,6 +189,8 @@ class GeometryManager { GEOMETRY_ADDED = MESH_ADDED | HAIR_ADDED, GEOMETRY_REMOVED = MESH_REMOVED | HAIR_REMOVED, + TRANSFORM_MODIFIED = (1 << 10), + /* tag everything in the manager for an update */ UPDATE_ALL = ~0u, |