From e1840f1319fd1884bfd8e8a73d2c0b82b2965ae6 Mon Sep 17 00:00:00 2001 From: onelin Date: Mon, 17 Mar 2025 21:28:47 +0100 Subject: Fix some conversion warnings --- src/rendering/include/engine/rendering/rendering.h | 2 +- src/rendering/src/rendering.c | 36 ++++++++++------------ 2 files changed, 18 insertions(+), 20 deletions(-) (limited to 'src') 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), -- cgit v1.3