X-Git-Url: https://git.dogcows.com/gitweb?p=chaz%2Frasterize;a=blobdiff_plain;f=model.c;fp=model.c;h=522527348bccd90dcee20433373b868adf7b1bf0;hp=f02e4c709c83471a1f872b8392023afda5fc2f53;hb=95850b98f73ad7033af60a30e324e9c3cda55389;hpb=a0e6abd72f045a741fb1ecdd1c2d11281f2840b9 diff --git a/model.c b/model.c index f02e4c7..5225273 100644 --- a/model.c +++ b/model.c @@ -276,7 +276,6 @@ static int _model_read_obj(model_t* m, const char* filename) while (fgets(line, 4096, file)) { char name[4096]; double f1, f2, f3, f4; - int meh; int i1, i2, i3, i4, i5, i6, i7, i8, i9; if (sscanf(line, "v %lf %lf %lf %lf ", &f1, &f2, &f3, &f4) == 4) { array_vec_push(v, vec_new2((scal_t)f1, (scal_t)f2, (scal_t)f3, (scal_t)f4)); @@ -308,11 +307,11 @@ static int _model_read_obj(model_t* m, const char* filename) t->c.n = n; #endif } - else if (sscanf(line, "f %d/%d %d/%d %d/%d ", &i1, &i4, &i2, &i4, &i3, &i4) == 6) { + else if (sscanf(line, "f %d/%d %d/%d %d/%d ", &i1, &i2, &i3, &i4, &i5, &i6) == 6) { tri_t* t = tri_alloc( vert_new(*array_vec_index(v, i1)), - vert_new(*array_vec_index(v, i2)), - vert_new(*array_vec_index(v, i3)) + vert_new(*array_vec_index(v, i3)), + vert_new(*array_vec_index(v, i5)) ); list_push2(&m->triangles, t, mem_free); ++m->count; @@ -340,20 +339,18 @@ static int _model_read_obj(model_t* m, const char* filename) t->c.n = *array_vec_index(vn, i6); } else if (sscanf(line, "f %d/%d/%d %d/%d/%d %d/%d/%d ", - &i1, &meh, &i2, &i3, &meh, &i4, &i5, &meh, &i6) == 9) { + &i1, &i2, &i3, &i4, &i5, &i6, &i7, &i8, &i9) == 9) { tri_t* t = tri_alloc( vert_new(*array_vec_index(v, i1)), - vert_new(*array_vec_index(v, i3)), - vert_new(*array_vec_index(v, i5)) + vert_new(*array_vec_index(v, i4)), + vert_new(*array_vec_index(v, i7)) ); list_push2(&m->triangles, t, mem_free); ++m->count; - t->a.n = *array_vec_index(vn, i2); - t->b.n = *array_vec_index(vn, i4); - t->c.n = *array_vec_index(vn, i6); + t->a.n = *array_vec_index(vn, i3); + t->b.n = *array_vec_index(vn, i6); + t->c.n = *array_vec_index(vn, i9); } - // f 1/2 3/4 5/6 - // f 1/2/3 4/5/6 7/8/9 } array_destroy(v);