fix: material serialization

This commit is contained in:
2026-10-22 00:30:23 +02:00
parent 3a04c1884a
commit 3df0f89343
13 changed files with 367 additions and 11 deletions
@@ -50,7 +50,7 @@ void MaterialCache::cleanup(GfxDevice& gfxDevice)
device = nullptr;
}
MaterialID MaterialCache::addMaterial(Material material)
MaterialID MaterialCache::addMaterial(Material material, std::string key)
{
MaterialData* data = static_cast<MaterialData*>(materialDataBuffer.info.pMappedData);
@@ -71,10 +71,9 @@ MaterialID MaterialCache::addMaterial(Material material)
sizeof(MaterialData));
const auto materialId = static_cast<MaterialID>(materials.size());
std::string key;
if (!material.assetReference.empty()) {
if (key.empty() && !material.assetReference.empty()) {
key = material.assetReference.cacheKey();
} else {
} else if (key.empty()) {
key = material.name.empty()
? "material:" + std::to_string(materialId)
: material.name;