From a6655eebe2a69ee427264bd43df5747851ed96df Mon Sep 17 00:00:00 2001 From: hachem Date: Fri, 15 Aug 2025 03:18:29 +0200 Subject: feat: complete first geodesic 3D raytracing --- src/platform/vulkan/vulkan_renderer_api.h | 44 +++++++++++++++++++------------ 1 file changed, 27 insertions(+), 17 deletions(-) (limited to 'src/platform/vulkan/vulkan_renderer_api.h') diff --git a/src/platform/vulkan/vulkan_renderer_api.h b/src/platform/vulkan/vulkan_renderer_api.h index c0075a2..e1d4566 100644 --- a/src/platform/vulkan/vulkan_renderer_api.h +++ b/src/platform/vulkan/vulkan_renderer_api.h @@ -5,22 +5,32 @@ namespace Donut { - class VulkanRendererAPI - : public RendererAPI - { - public: - virtual void init() override; - virtual void set_viewport(uint32_t x, uint32_t y, - uint32_t width, uint32_t height) override; - virtual void set_clear_color(const glm::vec4& color) override; - virtual void clear() override; - virtual void enable_depth_test() override; - virtual void disable_depth_test() override; - virtual void set_face_culling(bool enabled) override; - virtual void enable_blending() override; - virtual void disable_blending() override; + class VulkanRendererAPI + : public RendererAPI + { + public: + virtual void init() override; + virtual void set_viewport(uint32_t x, uint32_t y, + uint32_t width, uint32_t height) override; + virtual void set_clear_color(const glm::vec4& color) override; + virtual void clear() override; + virtual void enable_depth_test() override; + virtual void disable_depth_test() override; + virtual void set_face_culling(bool enabled) override; + virtual void enable_blending() override; + virtual void disable_blending() override; - virtual void draw_indexed(const Ref& vertex_array, - uint32_t index_count = 0) override; - }; + virtual void draw_indexed(const Ref& vertex_array, + uint32_t index_count = 0) override; + + virtual void draw_arrays(uint32_t vertex_count, + uint32_t first = 0) override; + virtual void draw_lines(const Ref& vertex_array, + uint32_t index_count = 0) override; + virtual void bind_texture(uint32_t texture_id, + uint32_t slot = 0) override; + virtual void bind_image_texture(uint32_t texture_id, + uint32_t slot = 0, + bool read_only = false) override; + }; }; -- cgit v1.3