diff options
| author | hachem <im@hachem.wtf> | 2026-08-20 02:27:02 +0200 |
|---|---|---|
| committer | hachem <im@hachem.wtf> | 2026-08-20 02:40:07 +0200 |
| commit | 5b361d81dbd2af0d0e99b9eb1adebea76ff05db0 (patch) | |
| tree | 34db1df17e8c7248aeeb92156d635d31c2484e3f /src/platform/vulkan/vulkan_renderer_api.cpp | |
| parent | e3abaaf59777258ba06705135a0cafcb5918ad12 (diff) | |
[chore]: MASSIVE refactor + more vulkan bs
Diffstat (limited to 'src/platform/vulkan/vulkan_renderer_api.cpp')
| -rw-r--r-- | src/platform/vulkan/vulkan_renderer_api.cpp | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/src/platform/vulkan/vulkan_renderer_api.cpp b/src/platform/vulkan/vulkan_renderer_api.cpp new file mode 100644 index 0000000..56499f4 --- /dev/null +++ b/src/platform/vulkan/vulkan_renderer_api.cpp @@ -0,0 +1,86 @@ +#include "vulkan_renderer_api.h" + +namespace Donut +{ + auto VulkanRendererAPI::init() -> void + { + // TODO(Hachem): Implement Vulkan renderer API initialization + } + + auto VulkanRendererAPI::set_viewport(uint32_t x, uint32_t y, uint32_t width, uint32_t height) -> void + { + // TODO(Hachem): Implement Vulkan viewport setting + } + + auto VulkanRendererAPI::set_clear_color(const glm::vec4& color) -> void + { + // TODO(Hachem): Implement Vulkan clear color setting + } + + auto VulkanRendererAPI::clear() -> void + { + // TODO(Hachem): Implement Vulkan clear + } + + auto VulkanRendererAPI::enable_depth_test() -> void + { + // TODO(Hachem): Implement Vulkan depth test enabling + } + + auto VulkanRendererAPI::disable_depth_test() -> void + { + // TODO(Hachem): Implement Vulkan depth test disabling + } + + auto VulkanRendererAPI::set_face_culling(bool enabled) -> void + { + // TODO(Hachem): Implement Vulkan face culling setting + } + + auto VulkanRendererAPI::enable_blending() -> void + { + // TODO(Hachem): Implement Vulkan blending enabling + } + + auto VulkanRendererAPI::disable_blending() -> void + { + // TODO(Hachem): Implement Vulkan blending disabling + } + + auto VulkanRendererAPI::draw_indexed(const Ref<VertexArray>& vertex_array, uint32_t index_count) -> void + { + // TODO(Hachem): Implement Vulkan indexed drawing + } + + auto VulkanRendererAPI::draw_arrays(uint32_t vertex_count, uint32_t first) -> void + { + // TODO(Hachem): Implement Vulkan array drawing + } + + auto VulkanRendererAPI::draw_lines(const Ref<VertexArray>& vertex_array, uint32_t index_count) -> void + { + // TODO(Hachem): Implement Vulkan line drawing + } + + auto VulkanRendererAPI::bind_texture(uint32_t texture_id, uint32_t slot) -> void + { + // TODO(Hachem): Implement Vulkan texture binding + } + + auto VulkanRendererAPI::bind_image_texture(uint32_t texture_id, uint32_t slot, bool read_only) -> void + { + // TODO(Hachem): Implement Vulkan image texture binding + } + + auto VulkanRendererAPI::read_pixels(uint32_t x, uint32_t y, uint32_t width, uint32_t height, + uint32_t format, uint32_t type, void* pixels) -> void + { + // TODO(Hachem): Implement Vulkan pixel reading + // For now, this is a placeholder implementation + // In a real Vulkan implementation, this would involve: + // 1. Creating a staging buffer + // 2. Copying the framebuffer to the staging buffer + // 3. Mapping the staging buffer and copying to the pixels array + // 4. Unmapping and destroying the staging buffer + } +}; |
