Add assimp-based mesh import

This commit is contained in:
2026-03-26 02:53:34 +08:00
parent b414bc5326
commit cb05472205
103 changed files with 24502 additions and 25 deletions

View File

@@ -101,4 +101,30 @@ TEST(MeshImportSettings, Clone) {
EXPECT_TRUE(clonedSettings->GetMergeMeshes());
}
TEST(MeshImportSettings, SaveAndLoadJSON) {
MeshImportSettings settings;
settings.SetImportFlags(MeshImportFlags::FlipUVs | MeshImportFlags::GenerateTangents);
settings.SetScale(2.5f);
settings.SetOffset(Vector3(1.0f, 2.0f, 3.0f));
settings.SetAxisConversion(false);
settings.SetMergeMeshes(true);
settings.SetOptimizeThreshold(0.6f);
settings.SetImportScale(0.75f);
settings.SetThreshold(0.05f);
const auto json = settings.SaveToJSON();
MeshImportSettings loaded;
EXPECT_TRUE(loaded.LoadFromJSON(json));
EXPECT_TRUE(loaded.HasImportFlag(MeshImportFlags::FlipUVs));
EXPECT_TRUE(loaded.HasImportFlag(MeshImportFlags::GenerateTangents));
EXPECT_FLOAT_EQ(loaded.GetScale(), 2.5f);
EXPECT_EQ(loaded.GetOffset(), Vector3(1.0f, 2.0f, 3.0f));
EXPECT_FALSE(loaded.GetAxisConversion());
EXPECT_TRUE(loaded.GetMergeMeshes());
EXPECT_FLOAT_EQ(loaded.GetOptimizeThreshold(), 0.6f);
EXPECT_FLOAT_EQ(loaded.GetImportScale(), 0.75f);
EXPECT_FLOAT_EQ(loaded.GetThreshold(), 0.05f);
}
} // namespace