浏览代码

Factor out simple_renderer_flush()

rexim 2 年之前
父节点
当前提交
85e810554a
共有 3 个文件被更改,包括 10 次插入6 次删除
  1. 2 6
      src/main.c
  2. 7 0
      src/simple_renderer.c
  3. 1 0
      src/simple_renderer.h

+ 2 - 6
src/main.c

@@ -100,9 +100,7 @@ void render_editor(SDL_Window *window, Free_Glyph_Atlas *atlas, Simple_Renderer
             }
         }
 
-        simple_renderer_sync(sr);
-        simple_renderer_draw(sr);
-        sr->verticies_count = 0;
+        simple_renderer_flush(sr);
     }
 
     Vec2f cursor_pos = vec2fs(0.0f);
@@ -139,9 +137,7 @@ void render_editor(SDL_Window *window, Free_Glyph_Atlas *atlas, Simple_Renderer
                 vec4fs(1));
         }
 
-        simple_renderer_sync(sr);
-        simple_renderer_draw(sr);
-        sr->verticies_count = 0;
+        simple_renderer_flush(sr);
     }
 
     // Update camera

+ 7 - 0
src/simple_renderer.c

@@ -177,3 +177,10 @@ void simple_renderer_set_shader(Simple_Renderer *sr, Simple_Shader shader)
     glUseProgram(sr->programs[sr->current_shader]);
     get_uniform_location(sr->programs[sr->current_shader], sr->uniforms);
 }
+
+void simple_renderer_flush(Simple_Renderer *sr)
+{
+    simple_renderer_sync(sr);
+    simple_renderer_draw(sr);
+    sr->verticies_count = 0;
+}

+ 1 - 0
src/simple_renderer.h

@@ -62,6 +62,7 @@ void simple_renderer_quad(Simple_Renderer *sr,
                           Vec2f uv0, Vec2f uv1, Vec2f uv2, Vec2f uv3);
 void simple_renderer_solid_rect(Simple_Renderer *sr, Vec2f p, Vec2f s, Vec4f c);
 void simple_renderer_image_rect(Simple_Renderer *sr, Vec2f p, Vec2f s, Vec2f uvp, Vec2f uvs);
+void simple_renderer_flush(Simple_Renderer *sr);
 void simple_renderer_sync(Simple_Renderer *sr);
 void simple_renderer_draw(Simple_Renderer *sr);