diff options
| author | hachem <im@hachem.wtf> | 2026-08-20 22:05:09 +0200 |
|---|---|---|
| committer | hachem <im@hachem.wtf> | 2026-08-20 22:05:09 +0200 |
| commit | 0f49e8fd2a364f91f0a4c3bc2210fac4d9bf2ecc (patch) | |
| tree | 8afb5564714fec75b19dbe3b7a42df2cfbee34c5 /src/rendering/renderer.h | |
| parent | 85b63b3b61174a99811f3cba235da4537634edd4 (diff) | |
refactor: fold the OpenGL backend classes into rendering
Diffstat (limited to 'src/rendering/renderer.h')
| -rw-r--r-- | src/rendering/renderer.h | 41 |
1 files changed, 18 insertions, 23 deletions
diff --git a/src/rendering/renderer.h b/src/rendering/renderer.h index 189723d..632753a 100644 --- a/src/rendering/renderer.h +++ b/src/rendering/renderer.h @@ -20,31 +20,26 @@ namespace Donut }; public: - virtual ~RendererAPI() = default; + RendererAPI() = default; + ~RendererAPI() = default; - virtual auto init() -> void = 0; - virtual auto set_viewport(uint32_t x, uint32_t y, - uint32_t width, uint32_t height) -> void = 0; - virtual auto set_clear_color(const glm::vec4& color) -> void = 0; - virtual auto clear() -> void = 0; - virtual auto enable_depth_test() -> void = 0; - virtual auto disable_depth_test() -> void = 0; - virtual auto set_face_culling(bool enabled) -> void = 0; - virtual auto enable_blending() -> void = 0; - virtual auto disable_blending() -> void = 0; + auto init() -> void; + auto set_viewport(uint32_t x, uint32_t y, uint32_t width, uint32_t height) -> void; + auto set_clear_color(const glm::vec4& color) -> void; + auto clear() -> void; + auto enable_depth_test() -> void; + auto disable_depth_test() -> void; + auto set_face_culling(bool enabled) -> void; + auto enable_blending() -> void; + auto disable_blending() -> void; - virtual auto draw_indexed(const Ref<VertexArray>& vertex_array, - uint32_t index_count = 0) -> void = 0; - - virtual auto draw_arrays(uint32_t vertex_count, uint32_t first = 0) -> void = 0; - virtual auto draw_lines(const Ref<VertexArray>& vertex_array, - uint32_t index_count = 0) -> void = 0; - virtual auto bind_texture(uint32_t texture_id, uint32_t slot = 0) -> void = 0; - virtual auto bind_image_texture(uint32_t texture_id, - uint32_t slot = 0, - bool read_only = false) -> void = 0; - virtual auto read_pixels(uint32_t x, uint32_t y, uint32_t width, uint32_t height, - uint32_t format, uint32_t type, void* pixels) -> void = 0; + auto draw_indexed(const Ref<VertexArray>& vertex_array, uint32_t index_count = 0) -> void; + auto draw_arrays(uint32_t vertex_count, uint32_t first = 0) -> void; + auto draw_lines(const Ref<VertexArray>& vertex_array, uint32_t index_count = 0) -> void; + auto bind_texture(uint32_t texture_id, uint32_t slot = 0) -> void; + auto bind_image_texture(uint32_t texture_id, uint32_t slot = 0, bool read_only = false) -> void; + auto read_pixels(uint32_t x, uint32_t y, uint32_t width, uint32_t height, + uint32_t format, uint32_t type, void* pixels) -> void; inline static auto get_api() -> API { return s_api; } inline static auto set_api(API api) -> void { s_api = api; } |
