aboutsummaryrefslogtreecommitdiff
path: root/07-july/src/camera.h
diff options
context:
space:
mode:
Diffstat (limited to '07-july/src/camera.h')
-rw-r--r--07-july/src/camera.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/07-july/src/camera.h b/07-july/src/camera.h
new file mode 100644
index 0000000..4254045
--- /dev/null
+++ b/07-july/src/camera.h
@@ -0,0 +1,32 @@
+#ifndef CAMERA_H
+#define CAMERA_H
+
+#include "math/matrix4x4.h"
+#include "math/vector3f.h"
+#include "math/vector2f.h"
+#include <stdbool.h>
+
+typedef struct
+{
+ vec3_t position;
+ vec3_t viewDirection;
+ vec3_t up;
+ mat4_t projectionMatrix;
+ mat4_t viewMatrix;
+ vec2_t mousePosition;
+ bool needsUpdate;
+} camera_t;
+
+extern void Camera_Init(camera_t* camera);
+extern void Camera_Move_Up(camera_t* camera);
+extern void Camera_Move_Down(camera_t* camera);
+extern void Camera_Move_Left(camera_t* camera);
+extern void Camera_Move_Right(camera_t* camera);
+extern void Camera_Move_Foward(camera_t* camera);
+extern void Camera_Move_Backward(camera_t* camera);
+extern void Camera_MouseUpdate(camera_t* camera, const vec2_t* newMousePosition);
+
+//Consigue la viewMatrix
+extern mat4_t Camera_GetModelToViewMatrix(camera_t* camera);
+
+#endif // CAMERA_H