aboutsummaryrefslogtreecommitdiff
path: root/09-september/tomcat/renderer/renderer_types.h
blob: cd07a20f5e0b5ecb35db407fe2b2d1bb855e44ec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#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