mirror of
https://github.com/KillzXGaming/Switch-Toolbox
synced 2025-02-16 22:08:26 +00:00
Export GFBMDL second channel vertex colors.
This commit is contained in:
parent
2b65b5b3c9
commit
4cb103e987
2 changed files with 21 additions and 12 deletions
|
@ -63,6 +63,12 @@ namespace FirstPlugin
|
|||
values.Add(mesh.vertices[v].col.Z * 255);
|
||||
values.Add(mesh.vertices[v].col.W * 255);
|
||||
break;
|
||||
case VertexType.Color2:
|
||||
values.Add(mesh.vertices[v].col2.X * 255);
|
||||
values.Add(mesh.vertices[v].col2.Y * 255);
|
||||
values.Add(mesh.vertices[v].col2.Z * 255);
|
||||
values.Add(mesh.vertices[v].col2.W * 255);
|
||||
break;
|
||||
case VertexType.UV1:
|
||||
values.Add(mesh.vertices[v].uv0.X);
|
||||
values.Add(1 - mesh.vertices[v].uv0.Y);
|
||||
|
@ -105,12 +111,6 @@ namespace FirstPlugin
|
|||
values.Add(mesh.vertices[v].bitan.Z);
|
||||
values.Add(mesh.vertices[v].bitan.W);
|
||||
break;
|
||||
case VertexType.Color2:
|
||||
values.Add(mesh.vertices[v].col2.X * 255);
|
||||
values.Add(mesh.vertices[v].col2.Y * 255);
|
||||
values.Add(mesh.vertices[v].col2.Z * 255);
|
||||
values.Add(mesh.vertices[v].col2.W * 255);
|
||||
break;
|
||||
case VertexType.Tangents:
|
||||
values.Add(mesh.vertices[v].tan.X);
|
||||
values.Add(mesh.vertices[v].tan.Y);
|
||||
|
|
|
@ -276,11 +276,13 @@ namespace Toolbox.Library
|
|||
List<float> UV2 = new List<float>();
|
||||
List<float> UV3 = new List<float>();
|
||||
List<float> Color = new List<float>();
|
||||
List<float> Color2 = new List<float>();
|
||||
List<int[]> BoneIndices = new List<int[]>();
|
||||
List<float[]> BoneWeights = new List<float[]>();
|
||||
|
||||
bool HasNormals = false;
|
||||
bool HasColors = false;
|
||||
bool HasColors2 = false;
|
||||
bool HasUV0 = false;
|
||||
bool HasUV1 = false;
|
||||
bool HasUV2 = false;
|
||||
|
@ -324,6 +326,7 @@ namespace Toolbox.Library
|
|||
|
||||
if (vertex.nrm != Vector3.Zero) HasNormals = true;
|
||||
if (vertex.col != Vector4.One && settings.UseVertexColors) HasColors = true;
|
||||
if (vertex.col2 != Vector4.One && settings.UseVertexColors) HasColors2 = true;
|
||||
if (vertex.uv0 != Vector2.Zero) HasUV0 = true;
|
||||
if (vertex.uv1 != Vector2.Zero) HasUV1 = true;
|
||||
if (vertex.uv2 != Vector2.Zero) HasUV2 = true;
|
||||
|
@ -346,6 +349,7 @@ namespace Toolbox.Library
|
|||
}
|
||||
|
||||
Color.AddRange(new float[] { vertex.col.X, vertex.col.Y, vertex.col.Z, vertex.col.W });
|
||||
Color2.AddRange(new float[] { vertex.col2.X, vertex.col2.Y, vertex.col2.Z, vertex.col2.W });
|
||||
|
||||
List<int> bIndices = new List<int>();
|
||||
List<float> bWeights = new List<float>();
|
||||
|
@ -463,7 +467,10 @@ namespace Toolbox.Library
|
|||
writer.WriteGeometrySource(mesh.Text, SemanticType.NORMAL, Normal.ToArray(), triangleLists.ToArray());
|
||||
|
||||
if (HasColors)
|
||||
writer.WriteGeometrySource(mesh.Text, SemanticType.COLOR, Color.ToArray(), triangleLists.ToArray());
|
||||
writer.WriteGeometrySource(mesh.Text, SemanticType.COLOR, Color.ToArray(), triangleLists.ToArray(), 0);
|
||||
|
||||
if (HasColors2)
|
||||
writer.WriteGeometrySource(mesh.Text, SemanticType.COLOR, Color2.ToArray(), triangleLists.ToArray(), 1);
|
||||
|
||||
if (HasUV0)
|
||||
writer.WriteGeometrySource(mesh.Text, SemanticType.TEXCOORD, UV0.ToArray(), triangleLists.ToArray(), 0);
|
||||
|
@ -541,6 +548,8 @@ namespace Toolbox.Library
|
|||
|
||||
foreach (var item in collada.Items)
|
||||
{
|
||||
if (item is library_controllers)
|
||||
LoadControllers((library_controllers)item);
|
||||
if (item is library_geometries)
|
||||
LoadGeometry((library_geometries)item);
|
||||
if (item is library_images)
|
||||
|
@ -556,6 +565,11 @@ namespace Toolbox.Library
|
|||
return true;
|
||||
}
|
||||
|
||||
private void LoadControllers(library_controllers controllers)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void LoadVisualScenes(library_visual_scenes nodes)
|
||||
{
|
||||
|
||||
|
@ -566,11 +580,6 @@ namespace Toolbox.Library
|
|||
|
||||
}
|
||||
|
||||
private void LoadControllers(library_controllers controllers)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
private void LoadMaterials(library_materials materials)
|
||||
{
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue