move MaterialInstance methods to own class

This commit is contained in:
Nick Fisher
2024-09-20 18:18:08 +08:00
parent f6c91294aa
commit 7cb3080596
11 changed files with 128 additions and 86 deletions

View File

@@ -2633,20 +2633,6 @@ EntityId SceneManager::createGeometry(
auto instance = _unlitMaterialProvider->createMaterialInstance(nullptr, &uvmap);
return instance;
}
void SceneManager::setMaterialDepthWrite(EntityId entityId, int materialIndex, bool enabled) {
auto entity = Entity::import(entityId);
const auto &rm = _engine->getRenderableManager();
auto renderableInstance = rm.getInstance(entity);
if (!renderableInstance.isValid())
{
Log("Error setting material property for entity %d: no renderable");
return;
}
auto materialInstance = rm.getMaterialInstanceAt(renderableInstance, materialIndex);
materialInstance->setDepthWrite(enabled);
}
} // namespace thermion_filament