diff options
author | omnisci3nce <omniscient.oce@gmail.com> | 2024-07-17 14:45:31 +1000 |
---|---|---|
committer | omnisci3nce <omniscient.oce@gmail.com> | 2024-07-17 14:45:31 +1000 |
commit | f8641a5cc4c8baf1f0a7be3685afc219d90143d9 (patch) | |
tree | 6f6edf43f88b456933330ec83a203bf2f414bea4 /src/render | |
parent | b9315f9cb625db09c3c41d8adf5230a67510bef7 (diff) |
whole thing is compiling and running again
Diffstat (limited to 'src/render')
-rw-r--r-- | src/render/backends/opengl/opengl_helpers.h | 74 |
1 files changed, 0 insertions, 74 deletions
diff --git a/src/render/backends/opengl/opengl_helpers.h b/src/render/backends/opengl/opengl_helpers.h deleted file mode 100644 index 41018cb..0000000 --- a/src/render/backends/opengl/opengl_helpers.h +++ /dev/null @@ -1,74 +0,0 @@ -#if defined(CEL_REND_BACKEND_OPENGL) -#pragma once -#include "backend_opengl.h" -#include "log.h" -#include "ral.h" -#include "ral_types.h" - -#include <glad/glad.h> -#include <glfw3.h> -#include "ral_types.h" -typedef struct opengl_vertex_attr { - u32 count; - GLenum data_type; -} opengl_vertex_attr; - -static opengl_vertex_attr format_from_vertex_attr(vertex_attrib_type attr) { - switch (attr) { - case ATTR_F32: - return (opengl_vertex_attr){ .count = 1, .data_type = GL_FLOAT }; - case ATTR_U32: - return (opengl_vertex_attr){ .count = 1, .data_type = GL_UNSIGNED_INT }; - case ATTR_I32: - return (opengl_vertex_attr){ .count = 1, .data_type = GL_INT }; - case ATTR_F32x2: - return (opengl_vertex_attr){ .count = 2, .data_type = GL_FLOAT }; - case ATTR_U32x2: - // return VK_FORMAT_R32G32_UINT; - case ATTR_I32x2: - // return VK_FORMAT_R32G32_UINT; - case ATTR_F32x3: - return (opengl_vertex_attr){ .count = 3, .data_type = GL_FLOAT }; - case ATTR_U32x3: - // return VK_FORMAT_R32G32B32_UINT; - case ATTR_I32x3: - // return VK_FORMAT_R32G32B32_SINT; - case ATTR_F32x4: - return (opengl_vertex_attr){ .count = 4, .data_type = GL_FLOAT }; - case ATTR_U32x4: - // return VK_FORMAT_R32G32B32A32_UINT; - case ATTR_I32x4: - return (opengl_vertex_attr){ .count = 4, .data_type = GL_INT }; - } -} - -static u32 opengl_bindcreate_vao(gpu_buffer* buf, vertex_description desc) { - DEBUG("Vertex format name %s", desc.debug_label); - // 1. Bind the buffer - glBindBuffer(GL_ARRAY_BUFFER, buf->id.vbo); - // 2. Create new VAO - u32 vao; - glGenVertexArrays(1, &vao); - glBindVertexArray(vao); - - // Attributes - u32 attr_count = desc.attributes_count; - printf("N attributes %d\n", attr_count); - u64 offset = 0; - size_t vertex_size = desc.use_full_vertex_size ? sizeof(vertex) : desc.stride; - for (u32 i = 0; i < desc.attributes_count; i++) { - opengl_vertex_attr format = format_from_vertex_attr(desc.attributes[i]); - glVertexAttribPointer(i, format.count, format.data_type, GL_FALSE, vertex_size, (void*)offset); - TRACE(" %d %d %d %d %d %s", i, format.count, format.data_type, vertex_size, offset, - desc.attr_names[i]); - glEnableVertexAttribArray(i); // nth index - size_t this_offset = vertex_attrib_size(desc.attributes[i]); - printf("offset total %lld this attr %ld\n", offset, this_offset); - offset += this_offset; - } - glBindBuffer(GL_ARRAY_BUFFER, 0); - - return vao; -} - -#endif |