diff --git a/src/render/filament/core/renderable.cc b/src/render/filament/core/renderable.cc index 31aac819..7bbb30f7 100644 --- a/src/render/filament/core/renderable.cc +++ b/src/render/filament/core/renderable.cc @@ -251,6 +251,9 @@ void Renderable::Prepare(std::span requests, for (const mjrfRenderRequest* request : requests) { DrawState draw_state; mjrfMaterial material = material_; + + // Selected materials are handled in a separate pass, so clear the value + // here to take advantage of shared materials. material.selected = false; draw_state.wireframe = (request->draw_mode == mjDRAW_MODE_WIREFRAME); @@ -324,10 +327,6 @@ void Renderable::Prepare(std::span requests, this, request->viewport.width, request->viewport.height); } - if (material.selected) { - material.emissive += 0.3f; // vis->global.glow - } - const Mesh* mesh = !parts_.empty() ? parts_[0].mesh : nullptr; draw_state.material_key = material_mgr_->PrepareMaterialInstance( material, static_cast(request->draw_mode), geom_type_,