#pragma once #include "main.h" #include "includes.h" typedef struct { float angle; vec3 direction; } Rotation; typedef struct { int num_indices; unsigned int VAO, VBO, EBO; } ViewModel; typedef struct { ViewModel *model; vec3 pos, size; Rotation rotation; mat4 transform; } Object; void createViewModel(ViewModel *model, int num_vertices, float *vert, int num_indices, unsigned int *indices); void killViewModel(ViewModel *model); void bindViewModel(ViewModel *model); ViewModel loadViewModel(const char* filename); void createObject(Object *obj, ViewModel *model); void moveObject(Object *obj, vec3 pos); void scaleObject(Object *obj, vec3 scale); void rotateObject(Object *obj, float angle, vec3 direction); void updateObjectTransform(Object *obj); void drawObject(Game *game, Object *obj);