#ifndef RENDERER_TYPES_H
#define RENDERER_TYPES_H
#define SKYBOX_ROTATION_SPEED 1.0f
#include "../util/str.h"
#include "../util/array.h"
#include "../math/vector.h"
#include "../math/matrix4x4.h"
#include "shader.h"
#include "texture.h"
#include "model.h"
typedef struct _Material
{
Texture *normal_map;
GLfloat shine_damper;
GLfloat reflectivity;
} Material;
typedef struct
{
Texture *texture;
Mesh *cube;
GLfloat rotation;
} Skybox;
typedef struct _Entity
{
Model *model;
Texture *texture;
Vec3 position;
float rotX, rotY, rotZ;
int index; /* Index inside a texture atlas should default to 0 */
float scale[3];
} Entity;
typedef struct
{
Vec3 position;
Vec4 color;
Vec3 attenuation;
} Light;
#endif // RENDERER_TYPES_H