diff --git a/Editor/ObjectWindow.cpp b/Editor/ObjectWindow.cpp index 8ba79ea3a..a4b902812 100644 --- a/Editor/ObjectWindow.cpp +++ b/Editor/ObjectWindow.cpp @@ -118,6 +118,7 @@ static Atlas_Dim GenerateMeshAtlas(MeshComponent& meshcomponent, uint32_t resolu std::vector positions(mesh.vertexCount); std::vector atlas(mesh.vertexCount); std::vector normals; + std::vector tangents; std::vector uvset_0; std::vector uvset_1; std::vector colors; @@ -127,6 +128,10 @@ static Atlas_Dim GenerateMeshAtlas(MeshComponent& meshcomponent, uint32_t resolu { normals.resize(mesh.vertexCount); } + if (!meshcomponent.vertex_tangents.empty()) + { + tangents.resize(mesh.vertexCount); + } if (!meshcomponent.vertex_uvset_0.empty()) { uvset_0.resize(mesh.vertexCount); @@ -160,6 +165,10 @@ static Atlas_Dim GenerateMeshAtlas(MeshComponent& meshcomponent, uint32_t resolu { normals[ind] = meshcomponent.vertex_normals[v.xref]; } + if (!tangents.empty()) + { + tangents[ind] = meshcomponent.vertex_tangents[v.xref]; + } if (!uvset_0.empty()) { uvset_0[ind] = meshcomponent.vertex_uvset_0[v.xref]; @@ -188,6 +197,10 @@ static Atlas_Dim GenerateMeshAtlas(MeshComponent& meshcomponent, uint32_t resolu { meshcomponent.vertex_normals = normals; } + if (!tangents.empty()) + { + meshcomponent.vertex_tangents = tangents; + } if (!uvset_0.empty()) { meshcomponent.vertex_uvset_0 = uvset_0;