From 79f6deac99d56a4b5c085c82bd8c1b6f00275db6 Mon Sep 17 00:00:00 2001 From: Haroon Qureshi Date: Fri, 26 Jun 2026 09:24:22 -0700 Subject: [PATCH] Update bounds when updating the mesh. PiperOrigin-RevId: 938628053 Change-Id: Ibd3d952d62614fc1eb049893937e6fb2d661da56 --- src/render/filament/core/renderable.cc | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/render/filament/core/renderable.cc b/src/render/filament/core/renderable.cc index 466b2432..8c975cc9 100644 --- a/src/render/filament/core/renderable.cc +++ b/src/render/filament/core/renderable.cc @@ -108,10 +108,15 @@ void Renderable::SetMesh(const Mesh* mesh, int elem_offset, int elem_count) { part.elem_count = elem_count; filament::RenderableManager& rm = GetEngine()->getRenderableManager(); - rm.setGeometryAt(rm.getInstance(part.entity), 0, - part.mesh->GetPrimitiveType(), vertex_buffer, index_buffer, - part.elem_offset, part.elem_count); - + auto ri = rm.getInstance(part.entity); + rm.setGeometryAt(ri, 0, part.mesh->GetPrimitiveType(), vertex_buffer, + index_buffer, part.elem_offset, part.elem_count); + if (part.mesh->HasBounds()) { + rm.setAxisAlignedBoundingBox(ri, part.mesh->GetBounds()); + rm.setCulling(ri, true); + } else { + rm.setCulling(ri, false); + } } else { mju_error("Cannot set mesh for renderable with multiple parts."); }