@@ -19,14 +19,16 @@ namespace test
1919namespace
2020{
2121
22- frame::proto::Level LoadLevelProtoWithFoxAnimationEnabled (bool enabled)
22+ constexpr const char * kSkinnedMeshNodeName = " CesiumManMesh" ;
23+
24+ frame::proto::Level LoadLevelProtoWithSkinnedMeshAnimationEnabled (bool enabled)
2325{
2426 auto level_proto = frame::json::LoadLevelProto (
2527 frame::file::FindFile (" asset/json/skinned_mesh.json" ));
2628 auto * scene_tree = level_proto.mutable_scene_tree ();
2729 for (auto & node_mesh : *scene_tree->mutable_node_meshes ())
2830 {
29- if (node_mesh.name () != " FoxMesh " )
31+ if (node_mesh.name () != kSkinnedMeshNodeName )
3032 {
3133 continue ;
3234 }
@@ -942,7 +944,7 @@ TEST_F(OpenGLRayTracingLevelTest, SkinnedMeshBindPoseDoesNotUpdateAggregateScene
942944{
943945 auto level = frame::json::ParseLevel (
944946 {1280u , 720u },
945- LoadLevelProtoWithFoxAnimationEnabled (false ));
947+ LoadLevelProtoWithSkinnedMeshAnimationEnabled (false ));
946948 ASSERT_NE (level, nullptr );
947949
948950 const auto material_id = level->GetIdFromName (" RayTraceMaterial" );
@@ -976,7 +978,7 @@ TEST_F(OpenGLRayTracingLevelTest, SkinnedMeshBindPoseDoesNotUpdateAggregateScene
976978 EXPECT_EQ (bvh_buffer->GetRawData (), bvh_before);
977979}
978980
979- TEST_F (OpenGLRayTracingLevelTest, SkinnedMeshSceneMaterialUsesImportedFoxTextures )
981+ TEST_F (OpenGLRayTracingLevelTest, SkinnedMeshSceneMaterialUsesImportedCharacterTextures )
980982{
981983 auto level = LoadLevel (" asset/json/skinned_mesh.json" );
982984 ASSERT_NE (level, nullptr );
@@ -987,48 +989,50 @@ TEST_F(OpenGLRayTracingLevelTest, SkinnedMeshSceneMaterialUsesImportedFoxTexture
987989 " RayTracingRendering" );
988990 ASSERT_NE (scene_material_id, frame::NullId);
989991 EXPECT_EQ (scene_material_id, level->GetIdFromName (" RayTraceMaterial" ));
990- const auto fox_material_id = FindMaterialForNode (
992+ const auto mesh_material_id = FindMaterialForNode (
991993 *level,
992994 frame::proto::NodeMesh::SCENE_RENDER_TIME ,
993- " FoxMesh " );
994- ASSERT_NE (fox_material_id , frame::NullId);
995+ kSkinnedMeshNodeName );
996+ ASSERT_NE (mesh_material_id , frame::NullId);
995997
996998 const auto & scene_material = level->GetMaterialFromId (scene_material_id);
997- const auto & fox_material = level->GetMaterialFromId (fox_material_id );
999+ const auto & mesh_material = level->GetMaterialFromId (mesh_material_id );
9981000
9991001 const auto scene_albedo_id = FindTextureByInnerName (
10001002 scene_material, " opaque_albedo_texture" );
10011003 const auto scene_normal_id = FindTextureByInnerName (
10021004 scene_material, " opaque_normal_texture" );
1003- const auto fox_albedo_id = FindTextureByInnerName (
1004- fox_material , " albedo_texture" );
1005- const auto fox_normal_id = FindTextureByInnerName (
1006- fox_material , " normal_texture" );
1005+ const auto mesh_albedo_id = FindTextureByInnerName (
1006+ mesh_material , " albedo_texture" );
1007+ const auto mesh_normal_id = FindTextureByInnerName (
1008+ mesh_material , " normal_texture" );
10071009
10081010 ASSERT_NE (scene_albedo_id, frame::NullId);
1009- ASSERT_NE (scene_normal_id, frame::NullId);
1010- ASSERT_NE (fox_albedo_id, frame::NullId);
1011- ASSERT_NE (fox_normal_id, frame::NullId);
1012- EXPECT_EQ (scene_albedo_id, fox_albedo_id);
1013- EXPECT_EQ (scene_normal_id, fox_normal_id);
1014- EXPECT_GT (level->GetTextureFromId (fox_albedo_id).GetSize ().x , 1u );
1015- EXPECT_GT (level->GetTextureFromId (fox_albedo_id).GetSize ().y , 1u );
1011+ ASSERT_NE (mesh_albedo_id, frame::NullId);
1012+ EXPECT_EQ (scene_albedo_id, mesh_albedo_id);
1013+ EXPECT_GT (level->GetTextureFromId (mesh_albedo_id).GetSize ().x , 1u );
1014+ EXPECT_GT (level->GetTextureFromId (mesh_albedo_id).GetSize ().y , 1u );
1015+ if (mesh_normal_id != frame::NullId)
1016+ {
1017+ ASSERT_NE (scene_normal_id, frame::NullId);
1018+ EXPECT_EQ (scene_normal_id, mesh_normal_id);
1019+ }
10161020}
10171021
1018- TEST_F (OpenGLRayTracingLevelTest, SkinnedMeshFoxMaterialRemainsOpaque )
1022+ TEST_F (OpenGLRayTracingLevelTest, SkinnedMeshMaterialRemainsOpaque )
10191023{
10201024 auto level = LoadLevel (" asset/json/skinned_mesh.json" );
10211025 ASSERT_NE (level, nullptr );
10221026
1023- const auto fox_material_id = FindMaterialForNode (
1027+ const auto mesh_material_id = FindMaterialForNode (
10241028 *level,
10251029 frame::proto::NodeMesh::SCENE_RENDER_TIME ,
1026- " FoxMesh " );
1027- ASSERT_NE (fox_material_id , frame::NullId);
1030+ kSkinnedMeshNodeName );
1031+ ASSERT_NE (mesh_material_id , frame::NullId);
10281032
1029- const auto & fox_material = level->GetMaterialFromId (fox_material_id );
1033+ const auto & mesh_material = level->GetMaterialFromId (mesh_material_id );
10301034 const auto transmission_texture_id = FindTextureByInnerName (
1031- fox_material , " transmission_texture" );
1035+ mesh_material , " transmission_texture" );
10321036 ASSERT_NE (transmission_texture_id, frame::NullId);
10331037 EXPECT_LT (ReadTextureFirstChannel (*level, transmission_texture_id), 0 .01f );
10341038}
@@ -1149,7 +1153,7 @@ TEST_F(OpenGLRayTracingLevelTest, SkinnedMeshAggregateTrianglesHaveFiniteBounds)
11491153 EXPECT_GT (max_y - min_y, 0 .05f );
11501154 EXPECT_GT (max_z - min_z, 0 .05f );
11511155 EXPECT_LT (min_y, 0 .2f );
1152- EXPECT_GT (max_y, 0 .2f );
1156+ EXPECT_GT (max_y, 0 .15f );
11531157}
11541158
11551159TEST_F (OpenGLRayTracingLevelTest, SkinnedMeshCpuRayHitsAggregateTriangles)
0 commit comments