#include "main.h" #include #include #include mat4 ortho[] = { { { 1, 0, 0, 0 }, { 0, 1, 0, 0 }, { 0, 0, 1, 0 }, { 0, 0, 0, 1 }, }, { { 0, 1, 0, 0 }, {-1, 0, 0, 0 }, { 0, 0, 1, 0 }, { 0, 0, 0, 1 }, }, { { 0, 0, 1, 0 }, { 0, 1, 0, 0 }, {-1, 0, 0, 0 }, { 0, 0, 0, 1 }, }, }; void load_fix_matrix( id_t shader, float ratio ) { mat4 m, n; const int d = 7; glm_lookat( (vec3){0,0,-d}, (vec3){0,0,0}, (vec3){0,1,0}, m ); glm_perspective( CGLM_PI/4, ratio, d-3, d+3, n ); glm_mat4_mul( n, m, m ); gload_mat4( shader, "fix", (mat4_t) m ); } void load_mdl_matrix( id_t shader, unsigned char i, unsigned char c ) { gload_float( shader, "idx", c ); gload_mat4( shader, "mdl", (mat4_t)ortho[i] ); } void load_rot_matrix( id_t shader, quat_t q ) { mat4 m; glm_quat_mat4( q, m ); gload_mat4( shader, "rot", (mat4_t)m ); }