Fix #113925: GPv3: eval_frame needs to be updated for modifier result #121022

Merged
Lukas Tönne merged 1 commits from LukasTonne/blender:fix-gp-eval-frame into main 2024-04-24 15:31:42 +02:00

1 Commits

Author SHA1 Message Date
Lukas Tönne 17978db160 Fix #113925: GPv3: eval_frame needs to be updated for modifier result.
buildbot/vexp-code-patch-lint Build done. Details
buildbot/vexp-code-patch-linux-x86_64 Build done. Details
buildbot/vexp-code-patch-darwin-x86_64 Build done. Details
buildbot/vexp-code-patch-darwin-arm64 Build done. Details
buildbot/vexp-code-patch-windows-amd64 Build done. Details
buildbot/vexp-code-patch-coordinator Build done. Details
Grease pencil runtime data stores the "current" frame in the
`eval_frame` property. This is updated before modifier evaluation, but
also used after modifiers, e.g. by the spreadsheet.

If the GeometrySet that is returned by the nodes modifier is created
during the nodes evaluation (as is the case with the Delete node) then
the resulting geometry set has `eval_frame == 0`. To fix this the
`eval_frame` is now also update _after_ modifier evaluation.

This will only set the correct `eval_frame` for the __top level__
geometry set. Other GeometrySets like instances may not have the correct
frame value. This is a more general problem with the design that is out
of scope here.
2024-04-24 14:47:07 +02:00