/** * Copyright (c) 2025 Dominic Masters * * This software is released under the MIT License. * https://opensource.org/licenses/MIT */ #include "transforms.h" #include "display/window.h" shaderbuffer_t TRANSFORMS_BUFFER; transformsdata_t TRANSFORMS_DATA; void transformsInit() { shaderBufferInit(&TRANSFORMS_BUFFER, sizeof(transformsdata_t)); glm_mat4_identity(TRANSFORMS_DATA.projection); glm_mat4_identity(TRANSFORMS_DATA.view); } void transformsUpdate() { TRANSFORMS_DATA.resolution[0] = WINDOW_WIDTH; TRANSFORMS_DATA.resolution[1] = WINDOW_HEIGHT; glm_perspective( glm_rad(45.0f), TRANSFORMS_DATA.resolution[0] / TRANSFORMS_DATA.resolution[1], 0.1f, 100.0f, TRANSFORMS_DATA.projection ); glm_lookat( (vec3){ 3, 3, 3 }, (vec3){ 0, 0, 0 }, (vec3){ 0, 1, 0 }, TRANSFORMS_DATA.view ); shaderBufferBind(&TRANSFORMS_BUFFER); shaderBufferSetData(&TRANSFORMS_BUFFER, &TRANSFORMS_DATA); } void transformsDispose() { shaderBufferDispose(&TRANSFORMS_BUFFER); }