diff options
| -rw-r--r-- | game/src/plugins/gltf_view.c | 13 | ||||
| -rw-r--r-- | gfx/src/renderer/imm_renderer.c | 13 | 
2 files changed, 12 insertions, 14 deletions
| diff --git a/game/src/plugins/gltf_view.c b/game/src/plugins/gltf_view.c index 4ffdd1e..7c73844 100644 --- a/game/src/plugins/gltf_view.c +++ b/game/src/plugins/gltf_view.c | |||
| @@ -186,13 +186,24 @@ void render(const Game* game, const State* state) { | |||
| 186 | assert(state->scene); | 186 | assert(state->scene); | 
| 187 | assert(state->camera); | 187 | assert(state->camera); | 
| 188 | 188 | ||
| 189 | ImmRenderer* imm = gfx_get_imm_renderer(game->gfx); | 189 | RenderBackend* render_backend = gfx_get_render_backend(game->gfx); | 
| 190 | ImmRenderer* imm = gfx_get_imm_renderer(game->gfx); | ||
| 191 | assert(render_backend); | ||
| 190 | assert(imm); | 192 | assert(imm); | 
| 193 | |||
| 194 | gfx_set_blending(render_backend, true); | ||
| 195 | gfx_set_depth_mask(render_backend, false); | ||
| 196 | gfx_set_polygon_offset(render_backend, 0.5f, 0.5f); | ||
| 197 | |||
| 191 | gfx_imm_start(imm); | 198 | gfx_imm_start(imm); | 
| 192 | gfx_imm_set_camera(imm, gfx_get_camera_camera(state->camera)); | 199 | gfx_imm_set_camera(imm, gfx_get_camera_camera(state->camera)); | 
| 193 | gfx_imm_set_colour(imm, vec4_make(0.2, 0.2, 1.0, 0.3)); | 200 | gfx_imm_set_colour(imm, vec4_make(0.2, 0.2, 1.0, 0.3)); | 
| 194 | render_bounding_boxes(imm, gfx_get_scene_root(state->scene)); | 201 | render_bounding_boxes(imm, gfx_get_scene_root(state->scene)); | 
| 195 | gfx_imm_end(imm); | 202 | gfx_imm_end(imm); | 
| 203 | |||
| 204 | gfx_set_polygon_offset(render_backend, 0.0f, 0.0f); | ||
| 205 | gfx_set_depth_mask(render_backend, true); | ||
| 206 | gfx_set_blending(render_backend, false); | ||
| 196 | } | 207 | } | 
| 197 | 208 | ||
| 198 | void resize(Game* game, State* state, int width, int height) { | 209 | void resize(Game* game, State* state, int width, int height) { | 
| diff --git a/gfx/src/renderer/imm_renderer.c b/gfx/src/renderer/imm_renderer.c index 492c7af..87e7717 100644 --- a/gfx/src/renderer/imm_renderer.c +++ b/gfx/src/renderer/imm_renderer.c | |||
| @@ -81,29 +81,16 @@ void imm_renderer_flush(ImmRenderer* renderer) { | |||
| 81 | 81 | ||
| 82 | void gfx_imm_start(ImmRenderer* renderer) { | 82 | void gfx_imm_start(ImmRenderer* renderer) { | 
| 83 | assert(renderer); | 83 | assert(renderer); | 
| 84 | |||
| 85 | // Shader uniforms are applied lazily. | 84 | // Shader uniforms are applied lazily. | 
| 86 | // TODO: In the event that gfx_activate_shader_program() activates uniforms | 85 | // TODO: In the event that gfx_activate_shader_program() activates uniforms | 
| 87 | // automatically for convenience, call an overload here that doesn't do so. | 86 | // automatically for convenience, call an overload here that doesn't do so. | 
| 88 | ShaderProgram* shader = renderer->shader; | 87 | ShaderProgram* shader = renderer->shader; | 
| 89 | gfx_activate_shader_program(shader); | 88 | gfx_activate_shader_program(shader); | 
| 90 | |||
| 91 | // TODO: Move this to the gltf_view program. | ||
| 92 | // gfx_set_blending(renderer->render_backend, true); | ||
| 93 | // gfx_set_depth_mask(renderer->render_backend, false); | ||
| 94 | // gfx_set_polygon_offset(renderer->render_backend, 0.5f, 0.5f); | ||
| 95 | } | 89 | } | 
| 96 | 90 | ||
| 97 | void gfx_imm_end(ImmRenderer* renderer) { | 91 | void gfx_imm_end(ImmRenderer* renderer) { | 
| 98 | assert(renderer); | 92 | assert(renderer); | 
| 99 | |||
| 100 | imm_renderer_flush(renderer); | 93 | imm_renderer_flush(renderer); | 
| 101 | |||
| 102 | // TODO: Move this to the gltf_view program. | ||
| 103 | // gfx_set_polygon_offset(renderer->render_backend, 0.0f, 0.0f); | ||
| 104 | // gfx_set_depth_mask(renderer->render_backend, true); | ||
| 105 | // gfx_set_blending(renderer->render_backend, false); | ||
| 106 | |||
| 107 | gfx_deactivate_shader_program(renderer->shader); | 94 | gfx_deactivate_shader_program(renderer->shader); | 
| 108 | } | 95 | } | 
| 109 | 96 | ||
