34 lines
856 B
C
34 lines
856 B
C
#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_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
|
|
|