#include "camera.h" vec3 camera_position; vec3 camera_rotation; void camera_get_direction (vec3 dest) { dest[0] = sinf (camera_rotation[0]) * cosf (camera_rotation[1]); dest[1] = sinf (camera_rotation[1]); dest[2] = cosf (camera_rotation[0]) * cosf (camera_rotation[1]); glm_vec3_normalize (dest); } void camera_get_right (vec3 dest) { vec3 dir; camera_get_direction (dir); glm_vec3_cross (dir, GLM_YUP, dest); glm_vec3_normalize (dest); } void camera_get_view (mat4 dest) { vec3 dir, center; camera_get_direction (dir); glm_vec3_add (camera_position, dir, center); glm_lookat (camera_position, center, GLM_YUP, dest); } void camera_get_projection (float aspect, mat4 dest) { glm_perspective (glm_rad (70), aspect, 0.01, 7000.0, dest); }