editor: lightmapper tangents fix
This commit is contained in:
@@ -118,6 +118,7 @@ static Atlas_Dim GenerateMeshAtlas(MeshComponent& meshcomponent, uint32_t resolu
|
||||
std::vector<XMFLOAT3> positions(mesh.vertexCount);
|
||||
std::vector<XMFLOAT2> atlas(mesh.vertexCount);
|
||||
std::vector<XMFLOAT3> normals;
|
||||
std::vector<XMFLOAT4> tangents;
|
||||
std::vector<XMFLOAT2> uvset_0;
|
||||
std::vector<XMFLOAT2> uvset_1;
|
||||
std::vector<uint32_t> 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;
|
||||
|
||||
Reference in New Issue
Block a user