diff options
author | Omni <omniscient.oce@gmail.com> | 2024-06-23 18:18:35 +1000 |
---|---|---|
committer | Omni <omniscient.oce@gmail.com> | 2024-06-23 18:18:35 +1000 |
commit | 41a9e6d84e442cadbf1825c38bb97c516873ad5a (patch) | |
tree | cf63931f3ea7fb4fa418313bd5e587f87cd2889b /src | |
parent | 0cbc42e89dcdeb47aaa63bb21b5fb911768ea4df (diff) |
change view with keypress
Diffstat (limited to 'src')
-rw-r--r-- | src/maths/primitives.c | 6 | ||||
-rw-r--r-- | src/renderer/backends/opengl/backend_opengl.c | 23 | ||||
-rw-r--r-- | src/renderer/render.c | 2 | ||||
-rw-r--r-- | src/systems/keys.h | 42 |
4 files changed, 58 insertions, 15 deletions
diff --git a/src/maths/primitives.c b/src/maths/primitives.c index ce467ab..753dd83 100644 --- a/src/maths/primitives.c +++ b/src/maths/primitives.c @@ -46,8 +46,10 @@ geometry_data geo_create_plane(f32x2 extents) { VERT_3D(vertices, vert_pos[2], VEC3_Y, vec2(0, 1)); VERT_3D(vertices, vert_pos[3], VEC3_Y, vec2(1, 1)); - push_triangle(indices, 0, 1, 2); - push_triangle(indices, 2, 1, 3); + /* push_triangle(indices, 0, 1, 2); */ + /* push_triangle(indices, 2, 1, 3); */ + push_triangle(indices, 2, 1, 0); + push_triangle(indices, 3, 1, 2); geometry_data geo = { .format = VERTEX_STATIC_3D, .vertices = vertices, diff --git a/src/renderer/backends/opengl/backend_opengl.c b/src/renderer/backends/opengl/backend_opengl.c index 02c27cd..356815d 100644 --- a/src/renderer/backends/opengl/backend_opengl.c +++ b/src/renderer/backends/opengl/backend_opengl.c @@ -153,8 +153,8 @@ gpu_renderpass* gpu_renderpass_create(const gpu_renderpass_desc* description) { } if (description->has_depth_stencil) { gpu_texture* depth_attachment = TEXTURE_GET(description->depth_stencil); - glFramebufferTexture2D(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_TEXTURE_2D, - depth_attachment->id, 0); + glFramebufferTexture2D(GL_FRAMEBUFFER, GL_DEPTH_ATTACHMENT, GL_TEXTURE_2D, depth_attachment->id, + 0); } if (description->has_depth_stencil && !description->has_color_target) { @@ -192,9 +192,7 @@ void gpu_cmd_encoder_begin_render(gpu_cmd_encoder* encoder, gpu_renderpass* rend glClear(GL_COLOR_BUFFER_BIT); } } -void gpu_cmd_encoder_end_render(gpu_cmd_encoder* encoder) { - glBindFramebuffer(GL_FRAMEBUFFER, 0); -} +void gpu_cmd_encoder_end_render(gpu_cmd_encoder* encoder) { glBindFramebuffer(GL_FRAMEBUFFER, 0); } void gpu_cmd_encoder_begin_compute() {} gpu_cmd_encoder* gpu_get_default_cmd_encoder() { return &context.command_buffer; } @@ -238,7 +236,7 @@ void encode_bind_shader_data(gpu_cmd_encoder* encoder, u32 group, shader_data* d for (u32 i = 0; i < sdl.bindings_count; i++) { shader_binding binding = sdl.bindings[i]; - print_shader_binding(binding); + /* print_shader_binding(binding); */ if (binding.type == SHADER_BINDING_BYTES) { buffer_handle b; @@ -270,8 +268,9 @@ void encode_bind_shader_data(gpu_cmd_encoder* encoder, u32 group, shader_data* d } else if (binding.type == SHADER_BINDING_TEXTURE) { gpu_texture* tex = TEXTURE_GET(binding.data.texture.handle); GLint tex_slot = glGetUniformLocation(encoder->pipeline->shader_id, binding.label); + printf("%d slot \n", tex_slot); if (tex_slot == GL_INVALID_VALUE || tex_slot < 0) { - WARN("Invalid binding label for texture - couldn't fetch texture slot uniform"); + WARN("Invalid binding label for texture %s - couldn't fetch texture slot uniform", binding.label); } glUniform1i(tex_slot, i); glActiveTexture(GL_TEXTURE0 + i); @@ -294,6 +293,7 @@ void encode_set_index_buffer(gpu_cmd_encoder* encoder, buffer_handle buf) { } void encode_draw(gpu_cmd_encoder* encoder, u64 count) { glDrawArrays(GL_TRIANGLES, 0, count); } void encode_draw_indexed(gpu_cmd_encoder* encoder, u64 index_count) { + /* printf("Draw %ld indices\n", index_count); */ glDrawElements(GL_TRIANGLES, index_count, GL_UNSIGNED_INT, 0); } void encode_clear_buffer(gpu_cmd_encoder* encoder, buffer_handle buf) {} @@ -408,10 +408,11 @@ void gpu_texture_upload(texture_handle texture, const void* data) {} bytebuffer vertices_as_bytebuffer(arena* a, vertex_format format, vertex_darray* vertices) {} // --- TEMP -bool gpu_backend_begin_frame() { - glClearColor(0.1f, 0.1f, 0.1f, 1.0f); - glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); - return true; } +bool gpu_backend_begin_frame() { + glClearColor(0.1f, 0.1f, 0.1f, 1.0f); + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + return true; +} void gpu_backend_end_frame() { // TODO: Reset all bindings glfwSwapBuffers(context.window); diff --git a/src/renderer/render.c b/src/renderer/render.c index 1c98b0b..f52e2be 100644 --- a/src/renderer/render.c +++ b/src/renderer/render.c @@ -62,7 +62,7 @@ bool renderer_init(renderer* ren) { resource_pools_init(&pool_arena, ren->resource_pools); // Create default rendering pipeline - /* default_pipelines_init(ren); */ + default_pipelines_init(ren); return true; } diff --git a/src/systems/keys.h b/src/systems/keys.h index a76e101..6082a59 100644 --- a/src/systems/keys.h +++ b/src/systems/keys.h @@ -3,10 +3,50 @@ typedef enum keycode { // TODO: add all keycodes KEYCODE_SPACE = 32, + KEYCODE_APOSTROPHE = 39, + KEYCODE_COMMA = 44, + KEYCODE_MINUS = 45, + KEYCODE_PERIOD = 46, + KEYCODE_SLASH = 47, + KEYCODE_0 = 48, + KEYCODE_1 = 49, + KEYCODE_2 = 50, + KEYCODE_3 = 51, + KEYCODE_4 = 52, + KEYCODE_5 = 53, + KEYCODE_6 = 54, + KEYCODE_7 = 55, + KEYCODE_8 = 56, + KEYCODE_9 = 57, + KEYCODE_SEMICOLON = 59, + KEYCODE_EQUAL = 61, KEYCODE_A = 65, + KEYCODE_B = 66, + KEYCODE_C = 67, KEYCODE_D = 68, + KEYCODE_E = 69, + KEYCODE_F = 70, + KEYCODE_G = 71, + KEYCODE_H = 72, + KEYCODE_I = 73, + KEYCODE_J = 74, + KEYCODE_K = 75, + KEYCODE_L = 76, + KEYCODE_M = 77, + KEYCODE_N = 78, + KEYCODE_O = 79, + KEYCODE_P = 80, + KEYCODE_Q = 81, + KEYCODE_R = 82, KEYCODE_S = 83, + KEYCODE_T = 84, + KEYCODE_U = 85, + KEYCODE_V = 86, KEYCODE_W = 87, + KEYCODE_X = 88, + KEYCODE_Y = 89, + KEYCODE_Z = 90, + KEYCODE_ESCAPE = 256, KEYCODE_ENTER = 257, KEYCODE_TAB = 258, @@ -16,4 +56,4 @@ typedef enum keycode { KEYCODE_KEY_DOWN = 264, KEYCODE_KEY_UP = 265, KEYCODE_MAX = 348 -} keycode;
\ No newline at end of file +} keycode; |