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 | bc2d88c799cb3913a5defe4ea9ddea9c56814349 (patch) | |
| tree | ea60d47c5924ba56f6d84de9d7baa38f1710f13a /src/Rendering/Renderer.h | |
| parent | 5265d5f8cacdb8af523e2b2fbfa45f0ef44b9995 (diff) | |
[help]: 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 fa37fc8..b2a44a4 100644 --- a/src/Rendering/Renderer.h +++ b/src/Rendering/Renderer.h @@ -26,14 +26,17 @@ namespace Donut virtual void SetClearColor(const glm::vec4& color) = 0; virtual void Clear() = 0; virtual void EnableDepthTest() = 0; + virtual void DisableDepthTest() = 0; virtual void SetFaceCulling(bool enabled) = 0; + virtual void EnableBlending() = 0; + virtual void DisableBlending() = 0; virtual void DrawIndexed(const Ref<VertexArray>& vertexArray, uint32_t indexCount = 0) = 0; inline static API GetAPI() { return s_API; } inline static void SetAPI(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_RendererAPI->EnableDepthTest(); } + inline static void DisableDepthTest() + { + s_RendererAPI->DisableDepthTest(); + } + inline static void SetFaceCulling(bool enabled) { s_RendererAPI->SetFaceCulling(enabled); } + inline static void EnableBlending() + { + s_RendererAPI->EnableBlending(); + } + + inline static void DisableBlending() + { + s_RendererAPI->DisableBlending(); + } + inline static void DrawIndexed(const Ref<VertexArray>& vertexArray, uint32_t indexCount = 0) { s_RendererAPI->DrawIndexed(vertexArray, indexCount); } private: - static Scope<RendererAPI> s_RendererAPI; + static Ref<RendererAPI> s_RendererAPI; }; class Renderer |
