#ifndef CAMERA_H #define CAMERA_H #include "math/matrix4x4.h" #include "math/vector3f.h" #include "math/vector2f.h" #include 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