My guess as to why this happens specifically for the curve stroke and not for the other strokes is because all calls to stroke->update_step
(and subsequently the code that marks positions &…
I think I've found a deeper cause of this, though I'm unsure what a fix looks like yet.
void BKE_sculpt_update_object_before_eval(Object *ob_eval)
{
/* Update before mesh evaluation…
Commenting out the following in sculpt.cc
flush_update_done
fixes the original mesh display
if (need_tag) {
DEG_id_tag_update(&ob.id, ID_RECALC_GEOMETRY);
}
Doing a bit more testing here. I'm unable to replicate this with the Spacing
stroke type, the odd shading only happens for the Curve
stroke. Switching between modes (Sculpt -> Edit -> Sculpt)…
I was mirroring the signature of some other brush calc_faces
functions where we pass in the positions_eval
and vert_normals
, though I don't think it's a particularly strong reason to keep it…