#ifndef MODEL_H #define MODEL_H typedef struct _model { GLfloat *object; GLfloat *colors; Tensor **transformations; size_t bufsize; size_t transformation_count; size_t transformation_size; } Model; typedef struct _model_registry { Model **models; size_t model_count; size_t size; } ModelRegistry; Model *model_load(const char *); ModelRegistry* modelRegistry_new(void); int modelRegistry_register(ModelRegistry *, Model *); void modelRegistry_free(ModelRegistry *); GLfloat * model_applyTransformations(Model *); void model_colorFromPosition(Model *); void model_colorXYZ(Model *, int R, int G, int B); void model_colorRed(Model *); void model_colorGreen(Model *); void model_colorBlue(Model *); void model_colorWhite(Model *); void model_colorBlack(Model *); Model *model_circle(int, GLfloat); Model *model_line(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat); #endif