diff --git a/src/obj.c b/src/obj.c index d71dc3f..600b9de 100644 --- a/src/obj.c +++ b/src/obj.c @@ -108,9 +108,11 @@ Model load_obj_file(Arena *arena, const char *filename, const char *texture) { char line[8192]; char identifier[8]; V3f vertex; + V3f normal; V2f coord; Triangle triangle; f32 vx, vy, vz; + f32 nx, ny, nz; f32 u, v; u64 fp0, fp1, fp2; u64 tx0, tx1, tx2; @@ -125,6 +127,12 @@ Model load_obj_file(Arena *arena, const char *filename, const char *texture) { vertex.y = vy; vertex.z = vz; list_append(V3f, arena, model.vertices, vertex); + } else if (strncmp(identifier, "vn", 8) == 0) { + sscanf(line + 2, "%f %f %f", &nx, &ny, &nz); + normal.x = nx; + normal.y = ny; + normal.z = nz; + list_append(V3f, arena, model.normals, normal); } else if (strncmp(identifier, "vt", 8) == 0) { sscanf(line + 2, "%f %f", &u, &v); coord.u = u;