Viewer* create_viewer(Placeable *object) { Viewer *v = malloc(sizeof(Viewer)); if (object) { v->pos[0] = object->pos[0]; v->pos[1] = object->pos[1]; v->pos[2] = object->pos[2]; observe_object(v, object); } else { v->pos[0] = 0; v->pos[1] = 0.1; v->pos[2] = 1; v->lookat[0] = 0; v->lookat[1] = 0; v->lookat[2] = 0; } v->model = (GLMmodel*) malloc(sizeof(GLMmodel)); v->model = glmReadOBJ("objs/girl/girl.obj"); // dimensions GLfloat dimensions[3]; glmDimensions(v->model, dimensions); v->height = dimensions[1]; v->width = dimensions[0]; v->depth = dimensions[2]; // look at 90% of the height of the model from its center. v->eye_at[0] = 0.5; // w v->eye_at[1] = 0.9; // h return v; }
Viewer* create_viewer(Placeable *object) { Viewer *v = malloc(sizeof(Viewer)); if (object) { printf("Object viewer set\n"); v->pos[0] = object->pos[0] ; v->pos[1] = object->pos[1] + 0.85f; v->pos[2] = object->pos[2] + 0.85f; observe_object(v, object); } else { v->pos[0] = 0; v->pos[1] = 0.11; v->pos[2] = 1; v->lookat[0] = 0; v->lookat[1] = 0; v->lookat[2] = 0; } return v; }