Bläddra i källkod

Change the mesh formats... again

Panagiotis Christopoulos Charitos 3 år sedan
förälder
incheckning
da8271e7e7
76 ändrade filer med 9 tillägg och 9 borttagningar
  1. 2 2
      AnKi/Importer/GltfImporterMesh.cpp
  2. 3 3
      AnKi/Resource/MeshBinaryLoader.cpp
  3. 2 2
      AnKi/Shaders/Include/MeshTypes.h
  4. BIN
      Samples/SimpleScene/Assets/Mesh_0_d56f58fc33de003f.ankimesh
  5. BIN
      Samples/SimpleScene/Assets/Mesh_1_266a0dd9d2092f46.ankimesh
  6. BIN
      Samples/SimpleScene/Assets/Mesh_2_be53007bec464649.ankimesh
  7. BIN
      Samples/SimpleScene/Assets/Mesh_3_c026fdb5b74773ed.ankimesh
  8. BIN
      Samples/SimpleScene/Assets/Mesh_4_4d4aae6c030c4fd5.ankimesh
  9. BIN
      Samples/SimpleScene/Assets/Mesh_5_629309b27fa549a7.ankimesh
  10. BIN
      Samples/SimpleScene/Assets/Mesh_6_a078cf217893be6f.ankimesh
  11. BIN
      Samples/SimpleScene/Assets/Mesh_7_4b76b132380d8a62.ankimesh
  12. 1 1
      Samples/SimpleScene/Assets/Scene.lua
  13. 1 1
      Samples/Sponza/Assets/Scene.lua
  14. BIN
      Samples/Sponza/Assets/arc_2_5fe181d03e97a985.ankimesh
  15. BIN
      Samples/Sponza/Assets/arch_a_2340d230b53e2a69.ankimesh
  16. BIN
      Samples/Sponza/Assets/arch_support_big_68d8367a811fb94b.ankimesh
  17. BIN
      Samples/Sponza/Assets/arch_support_med_f674c0ad36e855d5.ankimesh
  18. BIN
      Samples/Sponza/Assets/arch_support_tiny_6e5678a158e0a576.ankimesh
  19. BIN
      Samples/Sponza/Assets/carpet_9773eaac1e11dc54.ankimesh
  20. BIN
      Samples/Sponza/Assets/ceiling_3fd94cde277a48e1.ankimesh
  21. BIN
      Samples/Sponza/Assets/column_a.001_d7e2987db26e19ee.ankimesh
  22. BIN
      Samples/Sponza/Assets/column_a_1e1bacae3460b88.ankimesh
  23. BIN
      Samples/Sponza/Assets/column_b_c9391d56bff59fc3.ankimesh
  24. BIN
      Samples/Sponza/Assets/column_b_top_b71e6265349a8db8.ankimesh
  25. BIN
      Samples/Sponza/Assets/column_c_43f866fc7b9f0169.ankimesh
  26. BIN
      Samples/Sponza/Assets/column_c_small_a940cbc4b06b29e0.ankimesh
  27. BIN
      Samples/Sponza/Assets/column_c_small_top_ac474e000598477b.ankimesh
  28. BIN
      Samples/Sponza/Assets/column_c_square_34f84a5277d35506.ankimesh
  29. BIN
      Samples/Sponza/Assets/door_b_43d9d0f054a59e0d.ankimesh
  30. BIN
      Samples/Sponza/Assets/fabric_a_945c29fc221550fb.ankimesh
  31. BIN
      Samples/Sponza/Assets/fabric_b_e8dd2769dc642ab7.ankimesh
  32. BIN
      Samples/Sponza/Assets/flag_pole_b7fcab939d35270d.ankimesh
  33. BIN
      Samples/Sponza/Assets/hanging_vase_a37dedd7f8c3beeb.ankimesh
  34. BIN
      Samples/Sponza/Assets/leaf_3a245efd17475037.ankimesh
  35. BIN
      Samples/Sponza/Assets/leaf_b_686ab977af97774c.ankimesh
  36. BIN
      Samples/Sponza/Assets/lion_c45d3035db3bc17b.ankimesh
  37. BIN
      Samples/Sponza/Assets/lion_frame_c8b97a33096fbdb.ankimesh
  38. BIN
      Samples/Sponza/Assets/list_8b0526c84dd681e3.ankimesh
  39. BIN
      Samples/Sponza/Assets/list_b_457f406a16f12d4d.ankimesh
  40. BIN
      Samples/Sponza/Assets/marble_list_f312f13d76c75a21.ankimesh
  41. BIN
      Samples/Sponza/Assets/metal_rod_f68ba1d1e70f4801.ankimesh
  42. BIN
      Samples/Sponza/Assets/rod_end_e8bfe2abf71f7057.ankimesh
  43. BIN
      Samples/Sponza/Assets/round_window_e1fb3c1edc11246b.ankimesh
  44. BIN
      Samples/Sponza/Assets/small_window_inner_def811d202476946.ankimesh
  45. BIN
      Samples/Sponza/Assets/small_window_outter_9a4f8126fe7e5119.ankimesh
  46. BIN
      Samples/Sponza/Assets/sponza_00_ae01670872faa30.ankimesh
  47. BIN
      Samples/Sponza/Assets/sponza_05_e7b110614ca46ef3.ankimesh
  48. BIN
      Samples/Sponza/Assets/sponza_06_fd85d8293143f003.ankimesh
  49. BIN
      Samples/Sponza/Assets/sponza_117_9e80200db76c37cf.ankimesh
  50. BIN
      Samples/Sponza/Assets/sponza_122_a88206b9ae16e15.ankimesh
  51. BIN
      Samples/Sponza/Assets/sponza_17_95d7e6624ab3177.ankimesh
  52. BIN
      Samples/Sponza/Assets/sponza_18_8f59c6e13449896e.ankimesh
  53. BIN
      Samples/Sponza/Assets/sponza_257_8ac7b83ec0e64ca0.ankimesh
  54. BIN
      Samples/Sponza/Assets/sponza_258_9e5285ce7e2189af.ankimesh
  55. BIN
      Samples/Sponza/Assets/sponza_277_a862a3463155379b.ankimesh
  56. BIN
      Samples/Sponza/Assets/sponza_278_2814c1fc2c992170.ankimesh
  57. BIN
      Samples/Sponza/Assets/sponza_279_6912e5f5d4128531.ankimesh
  58. BIN
      Samples/Sponza/Assets/sponza_280_8dec8aa3e97a7a31.ankimesh
  59. BIN
      Samples/Sponza/Assets/sponza_281_12fa6f426dc4c559.ankimesh
  60. BIN
      Samples/Sponza/Assets/sponza_34_af76802cd75f239b.ankimesh
  61. BIN
      Samples/Sponza/Assets/sponza_35_587c5a72282a0812.ankimesh
  62. BIN
      Samples/Sponza/Assets/sponza_369.002_6ab77309e0c110ae.ankimesh
  63. BIN
      Samples/Sponza/Assets/sponza_36_df4619a2b83fb4bb.ankimesh
  64. BIN
      Samples/Sponza/Assets/sponza_379_4dc198ce421c90fd.ankimesh
  65. BIN
      Samples/Sponza/Assets/sponza_380_752dc70618c5bc97.ankimesh
  66. BIN
      Samples/Sponza/Assets/sponza_381_d80b7e06247cf847.ankimesh
  67. BIN
      Samples/Sponza/Assets/sponza_382_3f192ff09cad569.ankimesh
  68. BIN
      Samples/Sponza/Assets/sponza_66_5230eeae04fcd528.ankimesh
  69. BIN
      Samples/Sponza/Assets/sponza_68_921bc07f7acf667.ankimesh
  70. BIN
      Samples/Sponza/Assets/sponza_69_c96373f43f7e6566.ankimesh
  71. BIN
      Samples/Sponza/Assets/square_door_8fb9cf0d2c5f22c9.ankimesh
  72. BIN
      Samples/Sponza/Assets/vase_45c3983f6cc9c489.ankimesh
  73. BIN
      Samples/Sponza/Assets/vase_chains_359625e2a6d6ee0a.ankimesh
  74. BIN
      Samples/Sponza/Assets/vase_flowers_b4fdd6561a1a65fb.ankimesh
  75. BIN
      Samples/Sponza/Assets/vase_hanger_2a18d1de31dd5e0d.ankimesh
  76. BIN
      Samples/Sponza/Assets/window_4ac10331d32bff8d.ankimesh

+ 2 - 2
AnKi/Importer/GltfImporterMesh.cpp

@@ -734,14 +734,14 @@ Error GltfImporter::writeMesh(const cgltf_mesh& mesh) const
 		// Write positions
 		// Write positions
 		for(const SubMesh& submesh : submeshes[lod])
 		for(const SubMesh& submesh : submeshes[lod])
 		{
 		{
-			DynamicArrayRaii<U16Vec3> positions(m_pool, submesh.m_verts.getSize());
+			DynamicArrayRaii<U16Vec4> positions(m_pool, submesh.m_verts.getSize());
 			for(U32 v = 0; v < submesh.m_verts.getSize(); ++v)
 			for(U32 v = 0; v < submesh.m_verts.getSize(); ++v)
 			{
 			{
 				Vec3 localPos = (submesh.m_verts[v].m_position + posTranslation) * posScale;
 				Vec3 localPos = (submesh.m_verts[v].m_position + posTranslation) * posScale;
 				localPos = localPos.clamp(0.0f, 1.0f);
 				localPos = localPos.clamp(0.0f, 1.0f);
 				localPos *= F32(kMaxU16);
 				localPos *= F32(kMaxU16);
 				localPos = localPos.round();
 				localPos = localPos.round();
-				positions[v] = U16Vec3(localPos);
+				positions[v] = U16Vec4(localPos.xyz0());
 			}
 			}
 
 
 			ANKI_CHECK(file.write(&positions[0], positions.getSizeInBytes()));
 			ANKI_CHECK(file.write(&positions[0], positions.getSizeInBytes()));

+ 3 - 3
AnKi/Resource/MeshBinaryLoader.cpp

@@ -314,8 +314,8 @@ Error MeshBinaryLoader::storeIndicesAndPosition(U32 lod, DynamicArrayRaii<U32>&
 	// Store positions
 	// Store positions
 	{
 	{
 		const MeshBinaryVertexAttribute& attrib = m_header.m_vertexAttributes[VertexStreamId::kPosition];
 		const MeshBinaryVertexAttribute& attrib = m_header.m_vertexAttributes[VertexStreamId::kPosition];
-		DynamicArrayRaii<U16Vec3> tempPositions(m_pool, m_header.m_totalVertexCounts[lod]);
-		static_assert(kMeshRelatedVertexStreamFormats[VertexStreamId::kPosition] == Format::kR16G16B16_Unorm,
+		DynamicArrayRaii<U16Vec4> tempPositions(m_pool, m_header.m_totalVertexCounts[lod]);
+		static_assert(kMeshRelatedVertexStreamFormats[VertexStreamId::kPosition] == Format::kR16G16B16A16_Unorm,
 					  "Incorrect format");
 					  "Incorrect format");
 		ANKI_CHECK(storeVertexBuffer(lod, attrib.m_bufferIndex, &tempPositions[0], tempPositions.getSizeInBytes()));
 		ANKI_CHECK(storeVertexBuffer(lod, attrib.m_bufferIndex, &tempPositions[0], tempPositions.getSizeInBytes()));
 
 
@@ -323,7 +323,7 @@ Error MeshBinaryLoader::storeIndicesAndPosition(U32 lod, DynamicArrayRaii<U32>&
 
 
 		for(U32 i = 0; i < tempPositions.getSize(); ++i)
 		for(U32 i = 0; i < tempPositions.getSize(); ++i)
 		{
 		{
-			positions[i] = Vec3(tempPositions[i]) / F32(kMaxU16);
+			positions[i] = Vec3(tempPositions[i].xyz()) / F32(kMaxU16);
 			positions[i] *= Vec3(&attrib.m_scale[0]);
 			positions[i] *= Vec3(&attrib.m_scale[0]);
 			positions[i] += Vec3(&attrib.m_translation[0]);
 			positions[i] += Vec3(&attrib.m_translation[0]);
 		}
 		}

+ 2 - 2
AnKi/Shaders/Include/MeshTypes.h

@@ -65,8 +65,8 @@ ANKI_ENUM_ALLOW_NUMERIC_OPERATIONS(VertexStreamMask)
 
 
 #if defined(__cplusplus)
 #if defined(__cplusplus)
 inline constexpr Array<Format, U32(VertexStreamId::kMeshRelatedCount)> kMeshRelatedVertexStreamFormats = {
 inline constexpr Array<Format, U32(VertexStreamId::kMeshRelatedCount)> kMeshRelatedVertexStreamFormats = {
-	Format::kR16G16B16_Unorm, Format::kR8G8B8A8_Snorm, Format::kR8G8B8A8_Snorm,
-	Format::kR32G32_Sfloat,   Format::kR8G8B8A8_Uint,  Format::kR8G8B8A8_Snorm};
+	Format::kR16G16B16A16_Unorm, Format::kR8G8B8A8_Snorm, Format::kR8G8B8A8_Snorm,
+	Format::kR32G32_Sfloat,      Format::kR8G8B8A8_Uint,  Format::kR8G8B8A8_Snorm};
 #endif
 #endif
 
 
 struct UnpackedMeshVertex
 struct UnpackedMeshVertex

BIN
Samples/SimpleScene/Assets/Mesh_0_d56f58fc33de003f.ankimesh


BIN
Samples/SimpleScene/Assets/Mesh_1_266a0dd9d2092f46.ankimesh


BIN
Samples/SimpleScene/Assets/Mesh_2_be53007bec464649.ankimesh


BIN
Samples/SimpleScene/Assets/Mesh_3_c026fdb5b74773ed.ankimesh


BIN
Samples/SimpleScene/Assets/Mesh_4_4d4aae6c030c4fd5.ankimesh


BIN
Samples/SimpleScene/Assets/Mesh_5_629309b27fa549a7.ankimesh


BIN
Samples/SimpleScene/Assets/Mesh_6_a078cf217893be6f.ankimesh


BIN
Samples/SimpleScene/Assets/Mesh_7_4b76b132380d8a62.ankimesh


+ 1 - 1
Samples/SimpleScene/Assets/Scene.lua

@@ -1,4 +1,4 @@
--- Generated by: C:\Users\godli\src\anki\out\build\x64-Release\Bin\GltfImporter.exe CornellBox.gltf .. -rpath Assets -texrpath Assets -v -j 0
+-- Generated by: C:\Users\godli\src\anki\out\build\x64-Debug\Bin\GltfImporter.exe CornellBox.gltf .. -rpath Assets -texrpath Assets -v
 local scene = getSceneGraph()
 local scene = getSceneGraph()
 local events = getEventManager()
 local events = getEventManager()
 
 

+ 1 - 1
Samples/Sponza/Assets/Scene.lua

@@ -1,4 +1,4 @@
--- Generated by: C:\Users\godli\src\anki\out\build\x64-Release\Bin\GltfImporter.exe sponza_crytek_7_pbr_3.0.gltf C:/Users/godli/src/anki/Samples/Sponza/Assets/ -rpath Assets -texrpath Assets -lod-count 2 -light-scale 0.01 -v
+-- Generated by: C:\Users\godli\src\anki\out\build\x64-Debug\Bin\GltfImporter.exe sponza_crytek_7_pbr_3.0.gltf C:/Users/godli/src/anki/Samples/Sponza/Assets/ -rpath Assets -texrpath Assets -lod-count 2 -light-scale 0.01 -v
 local scene = getSceneGraph()
 local scene = getSceneGraph()
 local events = getEventManager()
 local events = getEventManager()
 
 

BIN
Samples/Sponza/Assets/arc_2_5fe181d03e97a985.ankimesh


BIN
Samples/Sponza/Assets/arch_a_2340d230b53e2a69.ankimesh


BIN
Samples/Sponza/Assets/arch_support_big_68d8367a811fb94b.ankimesh


BIN
Samples/Sponza/Assets/arch_support_med_f674c0ad36e855d5.ankimesh


BIN
Samples/Sponza/Assets/arch_support_tiny_6e5678a158e0a576.ankimesh


BIN
Samples/Sponza/Assets/carpet_9773eaac1e11dc54.ankimesh


BIN
Samples/Sponza/Assets/ceiling_3fd94cde277a48e1.ankimesh


BIN
Samples/Sponza/Assets/column_a.001_d7e2987db26e19ee.ankimesh


BIN
Samples/Sponza/Assets/column_a_1e1bacae3460b88.ankimesh


BIN
Samples/Sponza/Assets/column_b_c9391d56bff59fc3.ankimesh


BIN
Samples/Sponza/Assets/column_b_top_b71e6265349a8db8.ankimesh


BIN
Samples/Sponza/Assets/column_c_43f866fc7b9f0169.ankimesh


BIN
Samples/Sponza/Assets/column_c_small_a940cbc4b06b29e0.ankimesh


BIN
Samples/Sponza/Assets/column_c_small_top_ac474e000598477b.ankimesh


BIN
Samples/Sponza/Assets/column_c_square_34f84a5277d35506.ankimesh


BIN
Samples/Sponza/Assets/door_b_43d9d0f054a59e0d.ankimesh


BIN
Samples/Sponza/Assets/fabric_a_945c29fc221550fb.ankimesh


BIN
Samples/Sponza/Assets/fabric_b_e8dd2769dc642ab7.ankimesh


BIN
Samples/Sponza/Assets/flag_pole_b7fcab939d35270d.ankimesh


BIN
Samples/Sponza/Assets/hanging_vase_a37dedd7f8c3beeb.ankimesh


BIN
Samples/Sponza/Assets/leaf_3a245efd17475037.ankimesh


BIN
Samples/Sponza/Assets/leaf_b_686ab977af97774c.ankimesh


BIN
Samples/Sponza/Assets/lion_c45d3035db3bc17b.ankimesh


BIN
Samples/Sponza/Assets/lion_frame_c8b97a33096fbdb.ankimesh


BIN
Samples/Sponza/Assets/list_8b0526c84dd681e3.ankimesh


BIN
Samples/Sponza/Assets/list_b_457f406a16f12d4d.ankimesh


BIN
Samples/Sponza/Assets/marble_list_f312f13d76c75a21.ankimesh


BIN
Samples/Sponza/Assets/metal_rod_f68ba1d1e70f4801.ankimesh


BIN
Samples/Sponza/Assets/rod_end_e8bfe2abf71f7057.ankimesh


BIN
Samples/Sponza/Assets/round_window_e1fb3c1edc11246b.ankimesh


BIN
Samples/Sponza/Assets/small_window_inner_def811d202476946.ankimesh


BIN
Samples/Sponza/Assets/small_window_outter_9a4f8126fe7e5119.ankimesh


BIN
Samples/Sponza/Assets/sponza_00_ae01670872faa30.ankimesh


BIN
Samples/Sponza/Assets/sponza_05_e7b110614ca46ef3.ankimesh


BIN
Samples/Sponza/Assets/sponza_06_fd85d8293143f003.ankimesh


BIN
Samples/Sponza/Assets/sponza_117_9e80200db76c37cf.ankimesh


BIN
Samples/Sponza/Assets/sponza_122_a88206b9ae16e15.ankimesh


BIN
Samples/Sponza/Assets/sponza_17_95d7e6624ab3177.ankimesh


BIN
Samples/Sponza/Assets/sponza_18_8f59c6e13449896e.ankimesh


BIN
Samples/Sponza/Assets/sponza_257_8ac7b83ec0e64ca0.ankimesh


BIN
Samples/Sponza/Assets/sponza_258_9e5285ce7e2189af.ankimesh


BIN
Samples/Sponza/Assets/sponza_277_a862a3463155379b.ankimesh


BIN
Samples/Sponza/Assets/sponza_278_2814c1fc2c992170.ankimesh


BIN
Samples/Sponza/Assets/sponza_279_6912e5f5d4128531.ankimesh


BIN
Samples/Sponza/Assets/sponza_280_8dec8aa3e97a7a31.ankimesh


BIN
Samples/Sponza/Assets/sponza_281_12fa6f426dc4c559.ankimesh


BIN
Samples/Sponza/Assets/sponza_34_af76802cd75f239b.ankimesh


BIN
Samples/Sponza/Assets/sponza_35_587c5a72282a0812.ankimesh


BIN
Samples/Sponza/Assets/sponza_369.002_6ab77309e0c110ae.ankimesh


BIN
Samples/Sponza/Assets/sponza_36_df4619a2b83fb4bb.ankimesh


BIN
Samples/Sponza/Assets/sponza_379_4dc198ce421c90fd.ankimesh


BIN
Samples/Sponza/Assets/sponza_380_752dc70618c5bc97.ankimesh


BIN
Samples/Sponza/Assets/sponza_381_d80b7e06247cf847.ankimesh


BIN
Samples/Sponza/Assets/sponza_382_3f192ff09cad569.ankimesh


BIN
Samples/Sponza/Assets/sponza_66_5230eeae04fcd528.ankimesh


BIN
Samples/Sponza/Assets/sponza_68_921bc07f7acf667.ankimesh


BIN
Samples/Sponza/Assets/sponza_69_c96373f43f7e6566.ankimesh


BIN
Samples/Sponza/Assets/square_door_8fb9cf0d2c5f22c9.ankimesh


BIN
Samples/Sponza/Assets/vase_45c3983f6cc9c489.ankimesh


BIN
Samples/Sponza/Assets/vase_chains_359625e2a6d6ee0a.ankimesh


BIN
Samples/Sponza/Assets/vase_flowers_b4fdd6561a1a65fb.ankimesh


BIN
Samples/Sponza/Assets/vase_hanger_2a18d1de31dd5e0d.ankimesh


BIN
Samples/Sponza/Assets/window_4ac10331d32bff8d.ankimesh