// model
#if 1
- struct obj *o = obj_create("Chest.obj"); //"grey_bliss_set.obj");
+ struct obj *obj = obj_create("Chest.obj"); //"grey_bliss_set.obj");
struct array *model_vertices;
{
- int I = obj_num_vert(o);
+ int I = obj->vc;
model_vertices = array_new3(4, I, sizeof(float));
for (int i = 0; i < I; ++i) {
- float v[4];
- obj_get_vert_v(o, i, v);
- v[3] = 1.f;
+ float v[4] = {
+ obj->vv[i].v[0],
+ obj->vv[i].v[1],
+ obj->vv[i].v[2],
+ 1.f
+ };
*(float *)array_index2(model_vertices, 0, i) = v[0];
*(float *)array_index2(model_vertices, 1, i) = v[1];
*(float *)array_index2(model_vertices, 2, i) = v[2];
SDL_SetRenderDrawColor(renderer, 0, 0xff, 0, 0xff);
#if 1
{
- int I = obj_num_surf(o);
+ int I = obj->sc;
for (int i = 0; i < I; ++i) {
- int J = obj_num_poly(o, i);
+ int J = obj->sv[i].pc;
for (int j = 0; j < J; ++j) {
- int v[3];
- obj_get_poly(o, i, j, v);
+ int v[3] = {
+ (int)obj->sv[i].pv[j].vi[0],
+ (int)obj->sv[i].pv[j].vi[1],
+ (int)obj->sv[i].pv[j].vi[2]
+ };
#if 1
// check face visibility
);
array_free(qug);
}
- /*int*/ J = obj_num_line(o, i);
+ /*int*/ J = obj->sv[i].lc;
for (int j = 0; j < J; ++j) {
- int v[2];
- obj_get_line(o, i, j, v);
+ int v[2] = {
+ (int)obj->sv[i].lv[j].vi[0],
+ (int)obj->sv[i].lv[j].vi[1]
+ };
struct array *qug = gather(qu, 2, v);
SDL_RenderDrawLine(
renderer,