Fix T90017: Bone widget drawing inconsistent with editing
The `lines_loose` extractor did not trigger loose geometry caching.
This commit is contained in:
parent
c830c5b16b
commit
785d87ee42
Notes:
blender-bot
2023-02-14 10:29:32 +01:00
Referenced by issue #90017, Bone widget drawing inconsistent with editing
|
@ -81,9 +81,10 @@ typedef enum eMRDataType {
|
|||
MR_DATA_POLY_NOR = 1 << 1,
|
||||
MR_DATA_LOOP_NOR = 1 << 2,
|
||||
MR_DATA_LOOPTRI = 1 << 3,
|
||||
MR_DATA_LOOSE_GEOM = 1 << 4,
|
||||
/** Force loop normals calculation. */
|
||||
MR_DATA_TAN_LOOP_NOR = 1 << 4,
|
||||
MR_DATA_MAT_OFFSETS = 1 << 5,
|
||||
MR_DATA_TAN_LOOP_NOR = 1 << 5,
|
||||
MR_DATA_MAT_OFFSETS = 1 << 6,
|
||||
} eMRDataType;
|
||||
ENUM_OPERATORS(eMRDataType, MR_DATA_MAT_OFFSETS)
|
||||
|
||||
|
|
|
@ -170,7 +170,7 @@ void mesh_render_data_update_loose_geom(MeshRenderData *mr,
|
|||
const eMRIterType iter_type,
|
||||
const eMRDataType data_flag)
|
||||
{
|
||||
if (iter_type & (MR_ITER_LEDGE | MR_ITER_LVERT)) {
|
||||
if ((iter_type & (MR_ITER_LEDGE | MR_ITER_LVERT)) || (data_flag & MR_DATA_LOOSE_GEOM)) {
|
||||
mesh_render_data_loose_geom_ensure(mr, cache);
|
||||
mesh_render_data_loose_geom_load(mr, cache);
|
||||
}
|
||||
|
|
|
@ -237,7 +237,7 @@ constexpr MeshExtract create_extractor_lines_loose_only()
|
|||
{
|
||||
MeshExtract extractor = {nullptr};
|
||||
extractor.init = extract_lines_loose_only_init;
|
||||
extractor.data_type = MR_DATA_NONE;
|
||||
extractor.data_type = MR_DATA_LOOSE_GEOM;
|
||||
extractor.data_size = 0;
|
||||
extractor.use_threading = false;
|
||||
extractor.mesh_buffer_offset = offsetof(MeshBufferCache, ibo.lines_loose);
|
||||
|
|
Loading…
Reference in New Issue