Page MenuHome

[Blender2.8] Continuation of T58840, refresh result on more vpaint operators
AcceptedPublic

Authored by Sebastian Parborg (zeddb) on Dec 6 2018, 2:54 PM.

Details

Summary

T58840 is fixed. However I noticed there were still refresh problems with other vpaint operators. It seems like those operators used a function in paint_vertex_color_utils.c that hadn't be updated to use the tag_object_after_update function. So I've fixed that now.

However, there is still problems with the dirty vertex colors operator. The result in the viewport is not updated until you change setting on the operator or you force refresh in some other way.

I noticed that this operator is implemented in python (vertexpaint_dirt.py). So I'm unsure how to update this to use the new tag_object function...

Diff Detail

Event Timeline

Sebastian Parborg (zeddb) edited the summary of this revision. (Show Details)
This revision is now accepted and ready to land.Mon, Jan 28, 10:47 AM
Sebastian Parborg (zeddb) added a comment.EditedWed, Jan 30, 8:38 PM

@Sergey Sharybin (sergey) I was just about to commit this, but I noticed that this doesn't seem to be need now. The operators properly refresh when used without this patch.

I can even revert https://developer.blender.org/rB50b0448bd39d1776471526f19f57963394582810 and remove DEG_id_tag_update(&mesh->id, 0); and it still updates.

So I'm guessing this is handled somewhere else now and these DEG updates are superfluous?

@Sebastian Parborg (zeddb), ideally we'd need to understand why it started to work. Maybe tagging is happening somewhere else. But even if so, we shouldn't rely on some indirect implicitly executed code, since that is fragile. Cn check in the coming days, if not poke me in irc :)