summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authoronelin <oscar@nelin.dk>2025-03-17 20:28:47 +0000
committeronelin <oscar@nelin.dk>2025-03-17 20:28:47 +0000
commite1840f1319fd1884bfd8e8a73d2c0b82b2965ae6 (patch)
tree56bce81af8378f86d37def764678a563c4c2856b /src
parenta7b73304bc13099590d081c0912c9006bb2abbc9 (diff)
Fix some conversion warnings
Diffstat (limited to 'src')
-rw-r--r--src/rendering/include/engine/rendering/rendering.h2
-rw-r--r--src/rendering/src/rendering.c36
2 files changed, 18 insertions, 20 deletions
diff --git a/src/rendering/include/engine/rendering/rendering.h b/src/rendering/include/engine/rendering/rendering.h
index a39e00c..42464d4 100644
--- a/src/rendering/include/engine/rendering/rendering.h
+++ b/src/rendering/include/engine/rendering/rendering.h
@@ -230,7 +230,7 @@ RenderObject RenderObject_new(
u32 texture,
ShaderBuffer *restrict buffers, usize num_buffers);
-int renderbatch_new(RenderBatch* renderbatch, isize count);
+int renderbatch_new(RenderBatch* renderbatch, usize count);
int renderbatch_add(RenderBatch* renderbatch, RenderObject* obj);
int renderbatch_refresh(RenderBatch* renderbatch);
diff --git a/src/rendering/src/rendering.c b/src/rendering/src/rendering.c
index 679a07e..f0c19b7 100644
--- a/src/rendering/src/rendering.c
+++ b/src/rendering/src/rendering.c
@@ -45,7 +45,7 @@ ShaderBufferFlag ShaderBuffer_get_data_type(u64 flags) { return flags & (
// Renderbatches assumes that all buffer layouts are the same.
// renderbatch_new: Create a new render batch with space for `count` models.
-int renderbatch_new(RenderBatch* renderbatch, isize count) {
+int renderbatch_new(RenderBatch* renderbatch, usize count) {
if (renderbatch == NULL) {
ERROR("renderbatch was null!");
return -1;
@@ -100,10 +100,10 @@ ShaderBuffer* shaderbuffer_cat(ShaderBuffer* dst, ShaderBuffer *restrict src) {
// free the stuff.
// Verify the size
- const isize sz_src = src->size_elem * src->count;
- const isize sz_dst = dst->size_elem * dst->count;
+ const usize sz_src = src->size_elem * src->count;
+ const usize sz_dst = dst->size_elem * dst->count;
if (sz_src + sz_dst >= dst->size) {
- const isize sz_new = (1 + ((sz_src + sz_dst) / 4096)) * 4096;
+ const usize sz_new = (1 + ((sz_src + sz_dst) / 4096)) * 4096;
// Resize dst size
dst->data = realloc(dst->data, sz_new);
dst->size = sz_new;
@@ -127,14 +127,14 @@ int renderbatch_add(RenderBatch* renderbatch, RenderObject* obj) {
// Check if we have initialized models array
if (renderbatch->models == NULL) {
- const isize sz = 8 * sizeof(RenderObject);
+ const usize sz = 8 * sizeof(RenderObject);
renderbatch->models = malloc(8 * sizeof(RenderObject));
renderbatch->msize = sz;
renderbatch->mcount = 0;
// Check if there's room enough
} else if ((renderbatch->mcount + 1) * sizeof(RenderObject) > renderbatch->msize) {
- const isize sz = renderbatch->msize * 2;
+ const usize sz = renderbatch->msize * 2;
renderbatch->models = realloc(renderbatch->models, sz);
renderbatch->msize = sz;
}
@@ -146,8 +146,8 @@ int renderbatch_add(RenderBatch* renderbatch, RenderObject* obj) {
renderbatch->renderobj.buffer_len = obj->buffer_len;
renderbatch->renderobj.buffer = calloc(obj->buffer_len, sizeof(ShaderBuffer));
- for (isize i = 0; i < renderbatch->renderobj.buffer_len; i++) {
- const isize sz = obj->buffer[i].size_elem * obj->buffer[i].count;
+ for (usize i = 0; i < renderbatch->renderobj.buffer_len; i++) {
+ const usize sz = obj->buffer[i].size_elem * obj->buffer[i].count;
renderbatch->renderobj.buffer[i].count += obj->buffer[i].count;
renderbatch->renderobj.buffer[i].buffername = 0;
@@ -158,7 +158,7 @@ int renderbatch_add(RenderBatch* renderbatch, RenderObject* obj) {
renderbatch->renderobj.buffer[i].size_elem = obj->buffer[i].size_elem;
// Round up to nearest multiple of 4096 byte
- const isize newsz = (1 + (sz / 4096)) * 4096;
+ const usize newsz = (1 + (sz / 4096)) * 4096;
renderbatch->renderobj.buffer[i].size = newsz;
renderbatch->renderobj.buffer[i].data = malloc(newsz);
memcpy(renderbatch->renderobj.buffer[i].data, obj->buffer[i].data, sz);
@@ -168,7 +168,7 @@ int renderbatch_add(RenderBatch* renderbatch, RenderObject* obj) {
ERROR("Mismatch in number of shader buffers in render objects! Assumed %d but got %d", renderbatch->renderobj.buffer_len, obj->buffer_len);
// Append all ShaderBuffers to their appropriate buffers.
- } else for (isize i = 0; i < renderbatch->renderobj.buffer_len; i++) {
+ } else for (usize i = 0; i < renderbatch->renderobj.buffer_len; i++) {
shaderbuffer_cat(&renderbatch->renderobj.buffer[i], &obj->buffer[i]);
}
@@ -278,20 +278,18 @@ void render_present(Window* w) {
}
// TODO: Do this only once during initialization
- i32 matrix = o->mvp;
-
- gl->UniformMatrix4fv(matrix, 1, GL_FALSE, &modelviewprojection[0][0]);
+ gl->UniformMatrix4fv(o->mvp, 1, GL_FALSE, &modelviewprojection[0][0]);
}
// TODO the buffers need to be abstracted a bit more
gl->BindVertexArray(o->vao);
for (usize i = 0; i < o->buffer_len; i++) {
- gl->EnableVertexAttribArray(i);
+ gl->EnableVertexAttribArray((u32)i);
gl->BindBuffer(GL_ARRAY_BUFFER, o->buffer[i].buffername);
gl->VertexAttribPointer(
- i, // ...
- o->buffer[i].components, // size
+ (u32)i, // ...
+ (i32)o->buffer[i].components, // size
GL_FLOAT, // type
GL_FALSE, // normalized?
0, // stride
@@ -301,10 +299,10 @@ void render_present(Window* w) {
// Draw the model !
// TODO: Use DrawElements and an index buffer!
- const isize sz = o->buffer->count * o->buffer->size_elem;
+ const i32 sz = (i32)(o->buffer->count * o->buffer->size_elem);
gl->DrawArrays(GL_TRIANGLES, 0, sz); // Starting from vertex 0; 3 vertices total -> 1 triangle
- for (usize i = 0; i < o->buffer_len; i++) {
+ for (u32 i = 0; i < o->buffer_len; i++) {
gl->DisableVertexAttribArray(i);
}
@@ -417,7 +415,7 @@ Sprite sprite_new(u64 tid, u8 coord) {
// FIXME; used to be
//((struct Resources*)GLOBAL_PLATFORM->data)->textures[tid]->tilesize;
return (Sprite){
- .texture_id = tid,
+ .texture_id = (u32)tid,
(v2_i32){
.x = ts * (coord & 0x0F),
.y = ts * ((coord & 0xF0) >> 4),