Update bounds when updating the mesh.
PiperOrigin-RevId: 938628053 Change-Id: Ibd3d952d62614fc1eb049893937e6fb2d661da56
This commit is contained in:
committed by
Copybara-Service
parent
c7b1171846
commit
79f6deac99
@@ -108,10 +108,15 @@ void Renderable::SetMesh(const Mesh* mesh, int elem_offset, int elem_count) {
|
|||||||
part.elem_count = elem_count;
|
part.elem_count = elem_count;
|
||||||
|
|
||||||
filament::RenderableManager& rm = GetEngine()->getRenderableManager();
|
filament::RenderableManager& rm = GetEngine()->getRenderableManager();
|
||||||
rm.setGeometryAt(rm.getInstance(part.entity), 0,
|
auto ri = rm.getInstance(part.entity);
|
||||||
part.mesh->GetPrimitiveType(), vertex_buffer, index_buffer,
|
rm.setGeometryAt(ri, 0, part.mesh->GetPrimitiveType(), vertex_buffer,
|
||||||
part.elem_offset, part.elem_count);
|
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 {
|
} else {
|
||||||
mju_error("Cannot set mesh for renderable with multiple parts.");
|
mju_error("Cannot set mesh for renderable with multiple parts.");
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user