diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/gfx.c | 18 | ||||
| -rw-r--r-- | src/renderer/imm_renderer.c | 22 | ||||
| -rw-r--r-- | src/renderer/imm_renderer_impl.h | 8 |
3 files changed, 24 insertions, 24 deletions
| @@ -11,11 +11,11 @@ | |||
| 11 | #include <stdlib.h> | 11 | #include <stdlib.h> |
| 12 | 12 | ||
| 13 | typedef struct Gfx { | 13 | typedef struct Gfx { |
| 14 | AssetCache asset_cache; | 14 | AssetCache asset_cache; |
| 15 | GfxCore gfxcore; | 15 | GfxCore gfxcore; |
| 16 | LLR llr; | 16 | LLR llr; |
| 17 | ImmRenderer imm_renderer; | 17 | Imm imm; |
| 18 | Renderer renderer; | 18 | Renderer renderer; |
| 19 | } Gfx; | 19 | } Gfx; |
| 20 | 20 | ||
| 21 | Gfx* gfx_init(void) { | 21 | Gfx* gfx_init(void) { |
| @@ -28,7 +28,7 @@ Gfx* gfx_init(void) { | |||
| 28 | gfx_destroy(&gfx); | 28 | gfx_destroy(&gfx); |
| 29 | return 0; | 29 | return 0; |
| 30 | } | 30 | } |
| 31 | if (!gfx_imm_make(&gfx->imm_renderer, &gfx->gfxcore, &gfx->llr)) { | 31 | if (!gfx_imm_make(&gfx->imm, &gfx->gfxcore, &gfx->llr)) { |
| 32 | // TODO: Add error logs to the initialization failure cases here and inside | 32 | // TODO: Add error logs to the initialization failure cases here and inside |
| 33 | // the renderers. | 33 | // the renderers. |
| 34 | gfx_destroy(&gfx); | 34 | gfx_destroy(&gfx); |
| @@ -50,7 +50,7 @@ void gfx_destroy(Gfx** gfx) { | |||
| 50 | scene_mem_destroy(); | 50 | scene_mem_destroy(); |
| 51 | gfx_destroy_asset_cache(&(*gfx)->asset_cache); | 51 | gfx_destroy_asset_cache(&(*gfx)->asset_cache); |
| 52 | gfx_renderer_destroy(&(*gfx)->renderer); | 52 | gfx_renderer_destroy(&(*gfx)->renderer); |
| 53 | gfx_imm_destroy(&(*gfx)->imm_renderer); | 53 | gfx_imm_destroy(&(*gfx)->imm); |
| 54 | gfx_llr_destroy(&(*gfx)->llr); | 54 | gfx_llr_destroy(&(*gfx)->llr); |
| 55 | gfx_del_gfxcore(&(*gfx)->gfxcore); | 55 | gfx_del_gfxcore(&(*gfx)->gfxcore); |
| 56 | free(*gfx); | 56 | free(*gfx); |
| @@ -67,9 +67,9 @@ Renderer* gfx_get_renderer(Gfx* gfx) { | |||
| 67 | return &gfx->renderer; | 67 | return &gfx->renderer; |
| 68 | } | 68 | } |
| 69 | 69 | ||
| 70 | ImmRenderer* gfx_get_imm_renderer(Gfx* gfx) { | 70 | Imm* gfx_get_imm(Gfx* gfx) { |
| 71 | assert(gfx); | 71 | assert(gfx); |
| 72 | return &gfx->imm_renderer; | 72 | return &gfx->imm; |
| 73 | } | 73 | } |
| 74 | 74 | ||
| 75 | LLR* gfx_get_llr(Gfx* gfx) { | 75 | LLR* gfx_get_llr(Gfx* gfx) { |
diff --git a/src/renderer/imm_renderer.c b/src/renderer/imm_renderer.c index 01cc5bb..b3af7e8 100644 --- a/src/renderer/imm_renderer.c +++ b/src/renderer/imm_renderer.c | |||
| @@ -10,7 +10,7 @@ | |||
| 10 | #include <assert.h> | 10 | #include <assert.h> |
| 11 | #include <string.h> // memcpy | 11 | #include <string.h> // memcpy |
| 12 | 12 | ||
| 13 | bool gfx_imm_make(ImmRenderer* renderer, GfxCore* gfxcore, LLR* llr) { | 13 | bool gfx_imm_make(Imm* renderer, GfxCore* gfxcore, LLR* llr) { |
| 14 | assert(renderer); | 14 | assert(renderer); |
| 15 | assert(gfxcore); | 15 | assert(gfxcore); |
| 16 | assert(llr); | 16 | assert(llr); |
| @@ -45,7 +45,7 @@ cleanup: | |||
| 45 | return false; | 45 | return false; |
| 46 | } | 46 | } |
| 47 | 47 | ||
| 48 | void gfx_imm_destroy(ImmRenderer* renderer) { | 48 | void gfx_imm_destroy(Imm* renderer) { |
| 49 | assert(renderer); | 49 | assert(renderer); |
| 50 | assert(renderer->gfxcore); | 50 | assert(renderer->gfxcore); |
| 51 | 51 | ||
| @@ -59,7 +59,7 @@ void gfx_imm_destroy(ImmRenderer* renderer) { | |||
| 59 | } | 59 | } |
| 60 | } | 60 | } |
| 61 | 61 | ||
| 62 | void gfx_imm_flush(ImmRenderer* renderer) { | 62 | void gfx_imm_flush(Imm* renderer) { |
| 63 | assert(renderer); | 63 | assert(renderer); |
| 64 | 64 | ||
| 65 | if (renderer->num_triangle_verts > 0) { | 65 | if (renderer->num_triangle_verts > 0) { |
| @@ -78,7 +78,7 @@ void gfx_imm_flush(ImmRenderer* renderer) { | |||
| 78 | } | 78 | } |
| 79 | } | 79 | } |
| 80 | 80 | ||
| 81 | void gfx_imm_start(ImmRenderer* renderer) { | 81 | void gfx_imm_start(Imm* renderer) { |
| 82 | assert(renderer); | 82 | assert(renderer); |
| 83 | 83 | ||
| 84 | // Shader uniforms are applied lazily. | 84 | // Shader uniforms are applied lazily. |
| @@ -88,7 +88,7 @@ void gfx_imm_start(ImmRenderer* renderer) { | |||
| 88 | gfx_llr_set_shader(renderer->llr, renderer->shader); | 88 | gfx_llr_set_shader(renderer->llr, renderer->shader); |
| 89 | } | 89 | } |
| 90 | 90 | ||
| 91 | void gfx_imm_end(ImmRenderer* renderer) { | 91 | void gfx_imm_end(Imm* renderer) { |
| 92 | assert(renderer); | 92 | assert(renderer); |
| 93 | 93 | ||
| 94 | gfx_imm_flush(renderer); | 94 | gfx_imm_flush(renderer); |
| @@ -97,7 +97,7 @@ void gfx_imm_end(ImmRenderer* renderer) { | |||
| 97 | } | 97 | } |
| 98 | 98 | ||
| 99 | void gfx_imm_draw_triangles( | 99 | void gfx_imm_draw_triangles( |
| 100 | ImmRenderer* renderer, const vec3 verts[], size_t num_triangles) { | 100 | Imm* renderer, const vec3 verts[], size_t num_triangles) { |
| 101 | assert(renderer); | 101 | assert(renderer); |
| 102 | assert(verts); | 102 | assert(verts); |
| 103 | const size_t new_verts = num_triangles * 3; | 103 | const size_t new_verts = num_triangles * 3; |
| @@ -112,11 +112,11 @@ void gfx_imm_draw_triangles( | |||
| 112 | renderer->num_triangle_verts += new_verts; | 112 | renderer->num_triangle_verts += new_verts; |
| 113 | } | 113 | } |
| 114 | 114 | ||
| 115 | void gfx_imm_draw_triangle(ImmRenderer* renderer, const vec3 verts[3]) { | 115 | void gfx_imm_draw_triangle(Imm* renderer, const vec3 verts[3]) { |
| 116 | gfx_imm_draw_triangles(renderer, verts, 1); | 116 | gfx_imm_draw_triangles(renderer, verts, 1); |
| 117 | } | 117 | } |
| 118 | 118 | ||
| 119 | void gfx_imm_draw_aabb2(ImmRenderer* renderer, aabb2 box) { | 119 | void gfx_imm_draw_aabb2(Imm* renderer, aabb2 box) { |
| 120 | assert(renderer); | 120 | assert(renderer); |
| 121 | 121 | ||
| 122 | // clang-format off | 122 | // clang-format off |
| @@ -134,7 +134,7 @@ void gfx_imm_draw_aabb2(ImmRenderer* renderer, aabb2 box) { | |||
| 134 | gfx_imm_draw_triangles(renderer, tris, 2); | 134 | gfx_imm_draw_triangles(renderer, tris, 2); |
| 135 | } | 135 | } |
| 136 | 136 | ||
| 137 | void gfx_imm_draw_aabb3(ImmRenderer* renderer, aabb3 box) { | 137 | void gfx_imm_draw_aabb3(Imm* renderer, aabb3 box) { |
| 138 | assert(renderer); | 138 | assert(renderer); |
| 139 | 139 | ||
| 140 | // clang-format off | 140 | // clang-format off |
| @@ -152,7 +152,7 @@ void gfx_imm_draw_aabb3(ImmRenderer* renderer, aabb3 box) { | |||
| 152 | gfx_imm_draw_box3(renderer, vertices); | 152 | gfx_imm_draw_box3(renderer, vertices); |
| 153 | } | 153 | } |
| 154 | 154 | ||
| 155 | void gfx_imm_draw_box3(ImmRenderer* renderer, const vec3 vertices[8]) { | 155 | void gfx_imm_draw_box3(Imm* renderer, const vec3 vertices[8]) { |
| 156 | assert(renderer); | 156 | assert(renderer); |
| 157 | assert(vertices); | 157 | assert(vertices); |
| 158 | 158 | ||
| @@ -182,7 +182,7 @@ void gfx_imm_draw_box3(ImmRenderer* renderer, const vec3 vertices[8]) { | |||
| 182 | gfx_imm_draw_triangles(renderer, tris, 12); | 182 | gfx_imm_draw_triangles(renderer, tris, 12); |
| 183 | } | 183 | } |
| 184 | 184 | ||
| 185 | void gfx_imm_set_colour(ImmRenderer* renderer, vec4 colour) { | 185 | void gfx_imm_set_colour(Imm* renderer, vec4 colour) { |
| 186 | assert(renderer); | 186 | assert(renderer); |
| 187 | assert(renderer->shader); | 187 | assert(renderer->shader); |
| 188 | 188 | ||
diff --git a/src/renderer/imm_renderer_impl.h b/src/renderer/imm_renderer_impl.h index 61b49a7..d87b910 100644 --- a/src/renderer/imm_renderer_impl.h +++ b/src/renderer/imm_renderer_impl.h | |||
| @@ -22,7 +22,7 @@ typedef struct Texture Texture; | |||
| 22 | /// things simple while the extra complexity is not needed. | 22 | /// things simple while the extra complexity is not needed. |
| 23 | /// TODO: Flush the buffer when it reaches its maximum size to remove this | 23 | /// TODO: Flush the buffer when it reaches its maximum size to remove this |
| 24 | /// constraint. | 24 | /// constraint. |
| 25 | typedef struct ImmRenderer { | 25 | typedef struct Imm { |
| 26 | GfxCore* gfxcore; | 26 | GfxCore* gfxcore; |
| 27 | LLR* llr; | 27 | LLR* llr; |
| 28 | 28 | ||
| @@ -34,10 +34,10 @@ typedef struct ImmRenderer { | |||
| 34 | bool wireframe : 1; | 34 | bool wireframe : 1; |
| 35 | } flags; | 35 | } flags; |
| 36 | vec3 triangle_verts[GFX_IMM_MAX_NUM_TRIANGLES * 3]; | 36 | vec3 triangle_verts[GFX_IMM_MAX_NUM_TRIANGLES * 3]; |
| 37 | } ImmRenderer; | 37 | } Imm; |
| 38 | 38 | ||
| 39 | /// Create a new immediate mode renderer. | 39 | /// Create a new immediate mode renderer. |
| 40 | bool gfx_imm_make(ImmRenderer*, GfxCore*, LLR*); | 40 | bool gfx_imm_make(Imm*, GfxCore*, LLR*); |
| 41 | 41 | ||
| 42 | /// Destroy the immediate mode renderer. | 42 | /// Destroy the immediate mode renderer. |
| 43 | void gfx_imm_destroy(ImmRenderer*); | 43 | void gfx_imm_destroy(Imm*); |
