diff options
author | Pablo Dobarro <pablodp606@gmail.com> | 2021-05-13 03:40:10 +0300 |
---|---|---|
committer | Pablo Dobarro <pablodp606@gmail.com> | 2021-05-18 01:30:24 +0300 |
commit | ea11b4e10ce06e68ba365c8c7cbdf2ab5bdaf12f (patch) | |
tree | 220a1d28d73749235844eb1ed1fec0035063d768 /source/blender/blenkernel/BKE_softbody.h | |
parent | 85be72c1cc7317796dcce3ddc6ec2dedd627ff81 (diff) |
Fix T88230: Properly handle Face Set visibility in Expand Face Sets editing
Expand is not expected to update the visibility state of the PBVH, only
the Face Sets IDs. If visibility updates are made accidentally, PBVH
rendering breaks.
In order for this to work properly, the following fixes are needed:
- Expand should always check for active component before attempting to
modify a Face Set ID
- Expand should always check the visibility state on original_face_sets, as
it is the array that contains the visiblilty state that corresponds with the
current state used for PBVH rendering. This implies that after any modification
done by Expand, the visibility state of ss->face_sets and
expand_cache->original_face_sets should match (like in any other tool that
does not modify visibility).
- Expand should never modify the Face Set ID of a poly that is hidden in
expand_cache->original_face_sets.
- When deleting an ID, hidden Face Sets should be skipped when picking IDs for
content filling. This avoids introducing hidden IDs back into the visible
geometry even after updating its visibility state.
Reviewed By: JulienKaspar, JacquesLucke
Maniphest Tasks: T88230
Differential Revision: https://developer.blender.org/D11243
Diffstat (limited to 'source/blender/blenkernel/BKE_softbody.h')
0 files changed, 0 insertions, 0 deletions