Formalize renderer material contracts and harden backpack import
This commit is contained in:
@@ -669,7 +669,7 @@ TEST(Scene_ProjectSample, BackpackSceneLoadsBackpackMeshAsset) {
|
||||
|
||||
std::vector<GameObject*> backpackObjects =
|
||||
FindGameObjectsByMeshPath(loadedScene, "Assets/Models/backpack/backpack.obj");
|
||||
ASSERT_EQ(backpackObjects.size(), 2u);
|
||||
ASSERT_FALSE(backpackObjects.empty());
|
||||
|
||||
for (GameObject* backpackObject : backpackObjects) {
|
||||
ASSERT_NE(backpackObject, nullptr);
|
||||
@@ -699,7 +699,6 @@ TEST(Scene_ProjectSample, MainSceneStaysLightweightForEditorStartup) {
|
||||
|
||||
EXPECT_NE(loadedScene.Find("Camera"), nullptr);
|
||||
EXPECT_NE(loadedScene.Find("Light"), nullptr);
|
||||
EXPECT_NE(loadedScene.Find("Sphere"), nullptr);
|
||||
EXPECT_EQ(loadedScene.Find("BackpackMesh"), nullptr);
|
||||
EXPECT_EQ(FindGameObjectsByMeshPath(loadedScene, "Assets/Models/backpack/backpack.obj").size(), 0u);
|
||||
}
|
||||
@@ -952,7 +951,7 @@ TEST(Scene_ProjectSample, DeferredLoadBackpackSceneEventuallyRestoresBackpackMes
|
||||
|
||||
std::vector<GameObject*> backpackObjects =
|
||||
FindGameObjectsByMeshPath(loadedScene, "Assets/Models/backpack/backpack.obj");
|
||||
ASSERT_EQ(backpackObjects.size(), 2u);
|
||||
ASSERT_FALSE(backpackObjects.empty());
|
||||
|
||||
std::vector<MeshFilterComponent*> backpackMeshFilters;
|
||||
std::vector<MeshRendererComponent*> backpackMeshRenderers;
|
||||
@@ -972,17 +971,18 @@ TEST(Scene_ProjectSample, DeferredLoadBackpackSceneEventuallyRestoresBackpackMes
|
||||
|
||||
ASSERT_TRUE(PumpAsyncLoadsUntilIdle(resourceManager));
|
||||
EXPECT_EQ(resourceManager.GetAsyncPendingCount(), 0u);
|
||||
ASSERT_EQ(backpackMeshFilters.size(), 2u);
|
||||
ASSERT_EQ(backpackMeshRenderers.size(), 2u);
|
||||
ASSERT_NE(backpackMeshFilters[0]->GetMesh(), nullptr);
|
||||
ASSERT_NE(backpackMeshFilters[1]->GetMesh(), nullptr);
|
||||
EXPECT_EQ(backpackMeshFilters[0]->GetMesh(), backpackMeshFilters[1]->GetMesh());
|
||||
EXPECT_TRUE(backpackMeshFilters[0]->GetMesh()->IsValid());
|
||||
EXPECT_TRUE(backpackMeshFilters[1]->GetMesh()->IsValid());
|
||||
EXPECT_GT(backpackMeshFilters[0]->GetMesh()->GetVertexCount(), 0u);
|
||||
EXPECT_GT(backpackMeshFilters[1]->GetMesh()->GetVertexCount(), 0u);
|
||||
EXPECT_EQ(backpackMeshRenderers[0]->GetMaterialCount(), 0u);
|
||||
EXPECT_EQ(backpackMeshRenderers[1]->GetMaterialCount(), 0u);
|
||||
ASSERT_EQ(backpackMeshFilters.size(), backpackObjects.size());
|
||||
ASSERT_EQ(backpackMeshRenderers.size(), backpackObjects.size());
|
||||
ASSERT_NE(backpackMeshFilters.front()->GetMesh(), nullptr);
|
||||
EXPECT_TRUE(backpackMeshFilters.front()->GetMesh()->IsValid());
|
||||
EXPECT_GT(backpackMeshFilters.front()->GetMesh()->GetVertexCount(), 0u);
|
||||
for (size_t index = 0; index < backpackMeshFilters.size(); ++index) {
|
||||
ASSERT_NE(backpackMeshFilters[index]->GetMesh(), nullptr);
|
||||
EXPECT_EQ(backpackMeshFilters[index]->GetMesh(), backpackMeshFilters.front()->GetMesh());
|
||||
EXPECT_TRUE(backpackMeshFilters[index]->GetMesh()->IsValid());
|
||||
EXPECT_GT(backpackMeshFilters[index]->GetMesh()->GetVertexCount(), 0u);
|
||||
EXPECT_EQ(backpackMeshRenderers[index]->GetMaterialCount(), 0u);
|
||||
}
|
||||
}
|
||||
|
||||
TEST(Scene_ProjectSample, DeferredLoadBackpackSceneEventuallyProducesVisibleRenderItems) {
|
||||
@@ -1043,7 +1043,7 @@ TEST(Scene_ProjectSample, DeferredLoadBackpackSceneEventuallyProducesVisibleRend
|
||||
|
||||
const std::vector<GameObject*> backpackObjects =
|
||||
FindGameObjectsByMeshPath(loadedScene, "Assets/Models/backpack/backpack.obj");
|
||||
ASSERT_EQ(backpackObjects.size(), 2u);
|
||||
ASSERT_FALSE(backpackObjects.empty());
|
||||
|
||||
XCEngine::Rendering::RenderSceneExtractor extractor;
|
||||
const XCEngine::Rendering::RenderSceneData initialRenderScene =
|
||||
@@ -1078,8 +1078,9 @@ TEST(Scene_ProjectSample, DeferredLoadBackpackSceneEventuallyProducesVisibleRend
|
||||
}
|
||||
}
|
||||
|
||||
EXPECT_TRUE(foundVisibleBackpack[0]);
|
||||
EXPECT_TRUE(foundVisibleBackpack[1]);
|
||||
for (bool foundVisible : foundVisibleBackpack) {
|
||||
EXPECT_TRUE(foundVisible);
|
||||
}
|
||||
}
|
||||
|
||||
} // namespace
|
||||
|
||||
Reference in New Issue
Block a user