diff options
| author | hachem <im@hachem.wtf> | 2025-08-14 18:21:00 +0200 |
|---|---|---|
| committer | hachem <im@hachem.wtf> | 2025-08-14 18:21:00 +0200 |
| commit | 3d8d3259e1cf5a7d88e5d1e530cc8c9bf9140734 (patch) | |
| tree | 450b674caaf60327104aa76375c045f1f8f77076 /src/rendering/renderer.h | |
| parent | 79045760ce6100b4c87846d793f9dceeba4c9c36 (diff) | |
feat: I am going to throw my computer out a window
Diffstat (limited to 'src/rendering/renderer.h')
| -rw-r--r-- | src/rendering/renderer.h | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/src/rendering/renderer.h b/src/rendering/renderer.h index 6212b21..4a028e5 100644 --- a/src/rendering/renderer.h +++ b/src/rendering/renderer.h @@ -26,14 +26,17 @@ namespace Donut virtual void set_clear_color(const glm::vec4& color) = 0; virtual void clear() = 0; virtual void enable_depth_test() = 0; + virtual void disable_depth_test() = 0; virtual void set_face_culling(bool enabled) = 0; + virtual void enable_blending() = 0; + virtual void disable_blending() = 0; virtual void draw_indexed(const Ref<VertexArray>& vertex_array, uint32_t index_count = 0) = 0; inline static API get_api() { return s_api; } inline static void set_api(API api) { s_api = api; } - static Scope<RendererAPI> create(); + static Ref<RendererAPI> create(); private: static API s_api; }; @@ -66,18 +69,33 @@ namespace Donut s_renderer_api->enable_depth_test(); } + inline static void disable_depth_test() + { + s_renderer_api->disable_depth_test(); + } + inline static void set_face_culling(bool enabled) { s_renderer_api->set_face_culling(enabled); } + inline static void enable_blending() + { + s_renderer_api->enable_blending(); + } + + inline static void disable_blending() + { + s_renderer_api->disable_blending(); + } + inline static void draw_indexed(const Ref<VertexArray>& vertex_array, uint32_t index_count = 0) { s_renderer_api->draw_indexed(vertex_array, index_count); } private: - static Scope<RendererAPI> s_renderer_api; + static Ref<RendererAPI> s_renderer_api; }; class Renderer |
