Working on shader stuff

This commit is contained in:
2025-02-25 16:30:35 -06:00
parent 4ff3cf6c5c
commit c29d435b06
17 changed files with 157 additions and 22 deletions

View File

@ -6,5 +6,4 @@
# Sources
target_sources(${DUSK_TARGET_NAME}
PRIVATE
transforms.c
)

View File

@ -1,6 +1,6 @@
#version 330 core
// Copyright (c) 2025 Dominic Masters
//
// This software is released under the MIT License.
// https://opensource.org/licenses/MIT
// https://opensource.org/licenses/MIT
#version 330 core

View File

@ -1,46 +0,0 @@
/**
* 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);
}

View File

@ -1,35 +0,0 @@
/**
* Copyright (c) 2025 Dominic Masters
*
* This software is released under the MIT License.
* https://opensource.org/licenses/MIT
*/
#pragma once
#include "display/shader/shaderbuffer.h"
#define TRANSFORMS_BLOCK_NAME "b_Transforms"
typedef struct {
mat4 projection;
mat4 view;
vec2 resolution;
} transformsdata_t;
extern shaderbuffer_t TRANSFORMS_BUFFER;
extern transformsdata_t TRANSFORMS_DATA;
/**
* Initializes the transforms buffer and data.
*/
void transformsInit();
/**
* Updates the transforms buffer with the current data.
*/
void transformsUpdate();
/**
* Destroys the transforms buffer.
*/
void transformsDispose();