Fix #119571: Weight paint vertex selection invisible
After bace4c9a29
, the vertex position and vertex normal VBOs
are split. The `overlay_paint_point` shader depends on the normals VBO
because the selection is stored in the `.w` component of the vector.
This commit is contained in:
parent
684dbba6a1
commit
9132679f1b
|
@ -105,7 +105,7 @@ static constexpr DRWBatchFlag batches_that_use_buffer(const int buffer_index)
|
|||
MBC_WIRE_EDGES | MBC_WIRE_LOOPS | MBC_SCULPT_OVERLAYS | MBC_VIEWER_ATTRIBUTE_OVERLAY |
|
||||
MBC_SURFACE_PER_MAT;
|
||||
case BUFFER_INDEX(vbo.nor):
|
||||
return MBC_SURFACE | MBC_EDIT_LNOR | MBC_WIRE_LOOPS | MBC_SURFACE_PER_MAT;
|
||||
return MBC_SURFACE | MBC_EDIT_LNOR | MBC_WIRE_LOOPS | MBC_SURFACE_PER_MAT | MBC_ALL_VERTS;
|
||||
case BUFFER_INDEX(vbo.edge_fac):
|
||||
return MBC_WIRE_EDGES;
|
||||
case BUFFER_INDEX(vbo.weights):
|
||||
|
@ -1555,9 +1555,10 @@ void DRW_mesh_batch_cache_create_requested(TaskGraph *task_graph,
|
|||
}
|
||||
drw_add_attributes_vbo(cache.batch.surface, mbuflist, &cache.attr_used);
|
||||
}
|
||||
assert_deps_valid(MBC_ALL_VERTS, {BUFFER_INDEX(vbo.pos)});
|
||||
assert_deps_valid(MBC_ALL_VERTS, {BUFFER_INDEX(vbo.pos), BUFFER_INDEX(vbo.nor)});
|
||||
if (DRW_batch_requested(cache.batch.all_verts, GPU_PRIM_POINTS)) {
|
||||
DRW_vbo_request(cache.batch.all_verts, &mbuflist->vbo.pos);
|
||||
DRW_vbo_request(cache.batch.all_verts, &mbuflist->vbo.nor);
|
||||
}
|
||||
assert_deps_valid(
|
||||
MBC_SCULPT_OVERLAYS,
|
||||
|
|
Loading…
Reference in New Issue