diff options
| author | hachem <im@hachem.wtf> | 2026-08-22 00:46:02 +0200 |
|---|---|---|
| committer | hachem <im@hachem.wtf> | 2026-08-22 00:46:02 +0200 |
| commit | c0e5329d0940071a12c11f7bea05b61feadd37f7 (patch) | |
| tree | 64a9075ccea2460b09b80338aac1234effd199dd /src/platform/vulkan/vulkan_renderer.h | |
| parent | 1eaefc42a8ea03ac8680ffbb0e53179605f4ad22 (diff) | |
feat: add dynamic UBO and scene manager support for Vulkan
Diffstat (limited to 'src/platform/vulkan/vulkan_renderer.h')
| -rw-r--r-- | src/platform/vulkan/vulkan_renderer.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/platform/vulkan/vulkan_renderer.h b/src/platform/vulkan/vulkan_renderer.h index e2009d0..bc6f5b9 100644 --- a/src/platform/vulkan/vulkan_renderer.h +++ b/src/platform/vulkan/vulkan_renderer.h @@ -3,11 +3,19 @@ #include <glm/glm.hpp> #include <functional> #include <string> +#include <vector> namespace Donut { auto vulkan_prepare_glfw() -> void; + struct SceneObject + { + glm::vec3 position = { 0.0f, 2.0f, 0.0f }; + float radius = 2.0f; + glm::vec3 color = { 0.85f, 0.35f, 0.2f }; + }; + class VulkanRenderer { public: @@ -33,6 +41,9 @@ namespace Donut auto set_scene_mode(bool enabled) -> void; auto is_scene_mode() const -> bool; + auto scene_objects() -> std::vector<SceneObject>&; + auto set_selected_object(int index) -> void; + private: struct Impl; Impl* m_impl = nullptr; |
