CX/include/model.h

36 lines
907 B
C
Raw Normal View History

#ifndef MODEL_H
#define MODEL_H
typedef struct _model {
GLfloat *object;
2024-10-02 20:18:24 +00:00
GLfloat *colors;
Tensor **transformations;
size_t bufsize;
2024-10-02 20:18:24 +00:00
size_t transformation_count;
size_t transformation_size;
} Model;
typedef struct _model_registry {
Model **models;
size_t model_count;
size_t size;
} ModelRegistry;
2023-12-13 09:56:21 +00:00
Model *model_load(const char *);
ModelRegistry* modelRegistry_new(void);
int modelRegistry_register(ModelRegistry *, Model *);
void modelRegistry_free(ModelRegistry *);
2024-10-02 20:18:24 +00:00
GLfloat * model_applyTransformations(Model *);
void model_colorFromPosition(Model *);
void model_colorXYZ(Model *, int R, int G, int B);
2024-10-08 09:29:52 +00:00
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);
2024-10-13 20:43:43 +00:00
Model *model_line(GLfloat, GLfloat, GLfloat, GLfloat, GLfloat);
#endif