Workbench engine did not update the mesh when the sculpting
mesh was deformed. It only rendered the bare pbvh mesh. This
commit aligns the implementation to EEVEE.
FIX T62070
Differential D4731
Workbench: Deformed Sculpting Mesh Authored by Jeroen Bakker (jbakker) on Apr 24 2019, 1:53 PM.
Details
Workbench engine did not update the mesh when the sculpting FIX T62070
Diff Detail
Event TimelineComment Actions @Clément Foucault (fclem) we should check these generic sculpting stuff and put them somewhere centralized. draw_sculpt.c for example? Comment Actions After applying this patch, a PBVH_FACE sculpt does not longer update in the viewport with an empty modifier stack and workbench enabled. It works as expected when you have another viewport in the same window with EEVEE/LookDev enabled. Comment Actions @Pablo Dobarro (pablodp606) still need to check on the issue you raised. Will need to check if there is something that eevee does on top of the mesh drawing. Comment Actions What eevee is doing is a hack asked by @Julien Kaspar (JulienKaspar) that is really not what we should do everywhere for performance reason. If you want to bypass pbvh drawing globally you can change DRW_object_use_pbvh_drawing. I don't see the benefit of creating a draw_sculpt.c since much of what is needed is already in DRW. Comment Actions I was looking that sculpting isn't working when you turn off the subdiv modifier (or remove it from the stack). It is not related to the drawing.
Comment Actions This patches no only fixes deforming modifiers, but other modifiers like mirror too. I think DRW_object_use_pbvh_drawing and sculpt_flush_update should have matching logic? When we can avoid the DEG_id_tag_update in sculpt_flush_update and use the PBVH fast path, that means we can use the PBVH for drawing. So there could be a shared function to determine this.
Comment Actions Ah I see now, the reason this worked was that the geometry was fully recalculated.... Need to dive deeper in what is actually going wrong. Basically the ss->modifiers_active is not correct... and should have nothing to do with the use_shaded_mode. Imo the goal of this patch is to keep the existing use_shaded_mode evaluation and not alter it. | ||||||||||||||||||||||||