From 497f5576c18a7487c54c630bbe1ff4f9171bb08c Mon Sep 17 00:00:00 2001 From: Ricardo Buring Date: Sat, 10 Dec 2022 21:57:44 +0100 Subject: Fix MultiMesh visible_instance_count being ignored after the first frame Co-authored-by: Clay John --- servers/rendering/renderer_rd/storage_rd/mesh_storage.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'servers/rendering/renderer_rd') diff --git a/servers/rendering/renderer_rd/storage_rd/mesh_storage.cpp b/servers/rendering/renderer_rd/storage_rd/mesh_storage.cpp index 6894498af5..96618c3352 100644 --- a/servers/rendering/renderer_rd/storage_rd/mesh_storage.cpp +++ b/servers/rendering/renderer_rd/storage_rd/mesh_storage.cpp @@ -1805,8 +1805,12 @@ void MeshStorage::multimesh_set_visible_instances(RID p_multimesh, int p_visible } if (multimesh->data_cache.size()) { - //there is a data cache.. + // There is a data cache, but we may need to update some sections. _multimesh_mark_all_dirty(multimesh, false, true); + int start = multimesh->visible_instances >= 0 ? multimesh->visible_instances : multimesh->instances; + for (int i = start; i < p_visible; i++) { + _multimesh_mark_dirty(multimesh, i, true); + } } multimesh->visible_instances = p_visible; -- cgit v1.2.3