CoriEngine
Loading...
Searching...
No Matches
CoriGraphicsAPI.hpp
Go to the documentation of this file.
1#pragma once
2#include <glm/glm.hpp>
3
4namespace Cori {
5 namespace Graphics {
7 public:
8 virtual ~CoriGraphicsAPI() = default;
9
10 virtual void Init() = 0;
11
12 virtual void SetViewport(const int32_t x, const int32_t y, const int32_t width, const int32_t height) = 0;
13
14 virtual void SetClearColor(const glm::vec4& color) = 0;
15 virtual void ClearFramebuffer() = 0;
16
17 virtual void DrawElementsTriangles(const uint32_t elementCount) = 0;
18
19 virtual void DrawElementsInstancedTriangles(const uint32_t instanceCount) = 0;
20
21 virtual void EnableDepthTest() = 0;
22 virtual void DisableDepthTest() = 0;
23
24 virtual void EnableBlending() = 0;
25 virtual void DisableBlending() = 0;
26
27 virtual void SetDepthMask(const bool mode) = 0;
28
29 [[nodiscard]] static std::unique_ptr<CoriGraphicsAPI> Create();
30 };
31 }
32}
virtual void DisableBlending()=0
virtual ~CoriGraphicsAPI()=default
static std::unique_ptr< CoriGraphicsAPI > Create()
virtual void SetClearColor(const glm::vec4 &color)=0
virtual void SetDepthMask(const bool mode)=0
virtual void DisableDepthTest()=0
virtual void DrawElementsInstancedTriangles(const uint32_t instanceCount)=0
virtual void DrawElementsTriangles(const uint32_t elementCount)=0
virtual void SetViewport(const int32_t x, const int32_t y, const int32_t width, const int32_t height)=0
virtual void EnableDepthTest()=0
virtual void ClearFramebuffer()=0
Almost everything connected to graphics is in this namespace.
Definition Window.hpp:7
Global engine namespace.