Page MenuHome

Fix T75845: some dependencies update missing when painting textures.
ClosedPublic

Authored by Luc Revardel (lrevardel) on Apr 19 2020, 11:21 PM.

Details

Summary

issue: Painting a texture that is set as a particle system influencer, doesn't
update particles. An external trigger (such as changing influence slider)
is required to update particles.

fix: The root cause is a missing relationship from image to texture in the
dependency graph.

test: Once fixed, image texture painting updates expected dependencies
such as particle system influence or displacement modifier.

Diff Detail

Repository
rB Blender

Event Timeline

Luc Revardel (lrevardel) requested review of this revision.Apr 19 2020, 11:21 PM
Luc Revardel (lrevardel) created this revision.
Sergey Sharybin (sergey) requested changes to this revision.Apr 20 2020, 12:05 PM

You shouldn't be iterating via users of image to tag them on image update, this should be handled by dependency graph.
So the root of the issue seems a missing dependency from image to texture. P1344 should give some hints what i mean exactly.

This revision now requires changes to proceed.Apr 20 2020, 12:05 PM
Luc Revardel (lrevardel) updated this revision to Diff 23917.EditedApr 20 2020, 9:52 PM
Luc Revardel (lrevardel) edited the summary of this revision. (Show Details)

Update diffs based on code review comment.

The root cause is a missing relationship from image to texture in the
dependency graph.

@Sergey Sharybin (sergey) Sharybin (sergey): thanks for the corrective fix in P1344. Great mentoring, straight to the point. I have a much better understanding of how the dependency graph should be populated.

@Luc Revardel (lrevardel), if you've double-checked this patches fixes T75845 then it should be committed (in the middle of some other changes, so can't really easily test myself atm).
Do you have commit access btw?

This revision is now accepted and ready to land.Apr 21 2020, 8:54 AM

reply to myself: nope, that other report is still happening with this patch [TODO to myself: have a look at D5088 again]

@Luc Revardel (lrevardel), if you've double-checked this patches fixes T75845 then it should be committed (in the middle of some other changes, so can't really easily test myself atm).
Do you have commit access btw?

@Sergey Sharybin (sergey):
I don't have commit access.
Yes, I confirm that the patch fixes texture influence for hairs (using the file attached in bug report) but also displacement modifier.

reply to myself: nope, that other report is still happening with this patch [TODO to myself: have a look at D5088 again]

@Philipp Oeser (lichtwerk): I also tried the file from T65889 and I agree it doesn't fix it.
However, for T65889 I think you still need addition of Image->Texture relation (which is not created without this patch) so that the chain "Time Source -> Image -> Texture" triggers. So a combination of patches might work ?