aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/gfx.c18
-rw-r--r--src/renderer/imm_renderer.c22
-rw-r--r--src/renderer/imm_renderer_impl.h8
3 files changed, 24 insertions, 24 deletions
diff --git a/src/gfx.c b/src/gfx.c
index 39b04cd..18098d2 100644
--- a/src/gfx.c
+++ b/src/gfx.c
@@ -11,11 +11,11 @@
11#include <stdlib.h> 11#include <stdlib.h>
12 12
13typedef struct Gfx { 13typedef 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
21Gfx* gfx_init(void) { 21Gfx* 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
70ImmRenderer* gfx_get_imm_renderer(Gfx* gfx) { 70Imm* gfx_get_imm(Gfx* gfx) {
71 assert(gfx); 71 assert(gfx);
72 return &gfx->imm_renderer; 72 return &gfx->imm;
73} 73}
74 74
75LLR* gfx_get_llr(Gfx* gfx) { 75LLR* 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
13bool gfx_imm_make(ImmRenderer* renderer, GfxCore* gfxcore, LLR* llr) { 13bool 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
48void gfx_imm_destroy(ImmRenderer* renderer) { 48void 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
62void gfx_imm_flush(ImmRenderer* renderer) { 62void 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
81void gfx_imm_start(ImmRenderer* renderer) { 81void 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
91void gfx_imm_end(ImmRenderer* renderer) { 91void 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
99void gfx_imm_draw_triangles( 99void 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
115void gfx_imm_draw_triangle(ImmRenderer* renderer, const vec3 verts[3]) { 115void 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
119void gfx_imm_draw_aabb2(ImmRenderer* renderer, aabb2 box) { 119void 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
137void gfx_imm_draw_aabb3(ImmRenderer* renderer, aabb3 box) { 137void 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
155void gfx_imm_draw_box3(ImmRenderer* renderer, const vec3 vertices[8]) { 155void 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
185void gfx_imm_set_colour(ImmRenderer* renderer, vec4 colour) { 185void 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.
25typedef struct ImmRenderer { 25typedef 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.
40bool gfx_imm_make(ImmRenderer*, GfxCore*, LLR*); 40bool gfx_imm_make(Imm*, GfxCore*, LLR*);
41 41
42/// Destroy the immediate mode renderer. 42/// Destroy the immediate mode renderer.
43void gfx_imm_destroy(ImmRenderer*); 43void gfx_imm_destroy(Imm*);