blob: c00450c31f8f556fd023512b705bf2c82085c642 (
plain) (
blame)
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
|
#pragma once
#include "cglm/types.h"
#include "shader.h"
enum DIRECTION {
FORWARD,
BACKWARD,
LEFT,
RIGHT
};
struct camera {
vec3 position;
vec3 direction;
vec3 up;
mat4 view;
mat4 perspective;
float fov;
};
void camera_init(struct camera** camera);
void camera_update(struct camera* camera, struct shader* shader);
void camera_set_position(struct camera* camera, vec3 pos);
void camera_move(struct camera* camera, enum DIRECTION move);
void camera_rotate(struct camera* camera, vec2 offset);
|