CX/include/model.h

34 lines
857 B
C

#ifndef MODEL_H
#define MODEL_H
typedef struct _model {
GLfloat *object;
GLfloat *colors;
GLfloat **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_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