aboutsummaryrefslogtreecommitdiff
path: root/src/Rendering/Renderer.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/Rendering/Renderer.h')
-rw-r--r--src/Rendering/Renderer.h22
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