Browse Source

Fixed loading obj models with no materials (#1984)

pull/1985/head
Tristan Schulz 3 years ago
committed by GitHub
parent
commit
7bf31dd468
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 15 additions and 6 deletions
  1. +15
    -6
      src/models.c

+ 15
- 6
src/models.c View File

@ -3560,13 +3560,22 @@ static Model LoadOBJ(const char *fileName)
model.meshMaterial = (int *)RL_CALLOC(model.meshCount, sizeof(int)); model.meshMaterial = (int *)RL_CALLOC(model.meshCount, sizeof(int));
// Count the faces for each material // Count the faces for each material
int *matFaces = RL_CALLOC(materialCount, sizeof(int));
int *matFaces = RL_CALLOC(model.meshCount, sizeof(int));
for (int fi = 0; fi< attrib.num_faces; fi++)
// iff no materials are present use all faces on one mesh
if (materialCount > 0)
{
for (int fi = 0; fi< attrib.num_faces; fi++)
{
//tinyobj_vertex_index_t face = attrib.faces[fi];
int idx = attrib.material_ids[fi];
matFaces[idx]++;
}
}
else
{ {
//tinyobj_vertex_index_t face = attrib.faces[fi];
int idx = attrib.material_ids[fi];
matFaces[idx]++;
matFaces[0] = attrib.num_faces;
} }
//-------------------------------------- //--------------------------------------
@ -5606,4 +5615,4 @@ static Model LoadVOX(const char *fileName)
return model; return model;
} }
#endif
#endif

Loading…
Cancel
Save