improved objloader loading time by a lot

This commit is contained in:
2018-09-27 14:50:23 +02:00
parent ed9fb4bce1
commit 9fa6309212

View File

@@ -379,13 +379,7 @@ public class OBJLoader
if (m.subMeshCount != meshMaterialNames.Count) if (m.subMeshCount != meshMaterialNames.Count)
m.subMeshCount = meshMaterialNames.Count; m.subMeshCount = meshMaterialNames.Count;
int[] indexes = new int[0]; var indexes = faces.SelectMany(f => f.indexes).ToArray();
foreach (OBJFace f in faces)
{
int l = indexes.Length;
System.Array.Resize(ref indexes, l + f.indexes.Length);
System.Array.Copy(f.indexes, 0, indexes, l, f.indexes.Length);
}
for (int i = 0; i < indexes.Length; i++) for (int i = 0; i < indexes.Length; i++)
{ {
@@ -432,7 +426,6 @@ public class OBJLoader
Material[] processedMaterials = new Material[meshMaterialNames.Count]; Material[] processedMaterials = new Material[meshMaterialNames.Count];
for (int i = 0; i < meshMaterialNames.Count; i++) for (int i = 0; i < meshMaterialNames.Count; i++)
{ {
if (materialCache == null) if (materialCache == null)
{ {
processedMaterials[i] = new Material(Shader.Find("Standard (Specular setup)")); processedMaterials[i] = new Material(Shader.Find("Standard (Specular setup)"));