From e4f4044659efb556e8010637142d63b7ed4463f1 Mon Sep 17 00:00:00 2001 From: Haroon Qureshi Date: Fri, 27 Mar 2026 08:06:16 -0700 Subject: [PATCH] Move material multipliers to calling function. PiperOrigin-RevId: 890457829 Change-Id: Icb4151a792321aadd3958d479ef02f29ae4a2afc --- src/experimental/filament/filament/drawable.cc | 6 ++++++ src/experimental/filament/filament/material.cc | 9 +++------ 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/experimental/filament/filament/drawable.cc b/src/experimental/filament/filament/drawable.cc index 9a74a44d..8dd575bb 100644 --- a/src/experimental/filament/filament/drawable.cc +++ b/src/experimental/filament/filament/drawable.cc @@ -546,6 +546,12 @@ void Drawable::UpdateMaterial(const mjvGeom& geom, bool use_segid_color, } } } + + // Apply material multipliers from the model. + params.emissive *= object_mgr->GetEmissiveMultiplier(); + params.specular *= object_mgr->GetSpecularMultiplier(); + params.glossiness *= object_mgr->GetShininessMultiplier(); + material_.UpdateParams(params); } } // namespace mujoco diff --git a/src/experimental/filament/filament/material.cc b/src/experimental/filament/filament/material.cc index ec3019ed..1557e9e5 100644 --- a/src/experimental/filament/filament/material.cc +++ b/src/experimental/filament/filament/material.cc @@ -88,16 +88,13 @@ void Material::UpdateMaterialInstances() { params_.color); } if (material->hasParameter("EmissiveFactor")) { - const float multiplier = object_mgr_->GetEmissiveMultiplier(); - instance->setParameter("EmissiveFactor", params_.emissive * multiplier); + instance->setParameter("EmissiveFactor", params_.emissive); } if (material->hasParameter("SpecularFactor")) { - const float multiplier = object_mgr_->GetSpecularMultiplier(); - instance->setParameter("SpecularFactor", params_.specular * multiplier); + instance->setParameter("SpecularFactor", params_.specular); } if (material->hasParameter("GlossinessFactor")) { - const float multiplier = object_mgr_->GetShininessMultiplier(); - instance->setParameter("GlossinessFactor", params_.glossiness * multiplier); + instance->setParameter("GlossinessFactor", params_.glossiness); } if (material->hasParameter("MetallicFactor")) { instance->setParameter("MetallicFactor",