aboutsummaryrefslogtreecommitdiff
path: root/src/Platform/Vulkan
diff options
context:
space:
mode:
authorhachem <im@hachem.wtf>2025-08-15 03:18:29 +0200
committerhachem <im@hachem.wtf>2025-08-15 03:18:29 +0200
commit4172869e54093eee6e1595ebe0fa55c9fe98aef7 (patch)
tree2004c518688e6db529e437fe3f0120ad0fcc1dd9 /src/Platform/Vulkan
parentbc2d88c799cb3913a5defe4ea9ddea9c56814349 (diff)
[help]: Complete first geodesic 3d raytracing
Diffstat (limited to 'src/Platform/Vulkan')
-rw-r--r--src/Platform/Vulkan/VulkanRendererAPI.cpp100
-rw-r--r--src/Platform/Vulkan/VulkanRendererAPI.h44
-rw-r--r--src/Platform/Vulkan/VulkanUniformBuffer.h7
3 files changed, 90 insertions, 61 deletions
diff --git a/src/Platform/Vulkan/VulkanRendererAPI.cpp b/src/Platform/Vulkan/VulkanRendererAPI.cpp
index 6f0e73e..0dc9f0e 100644
--- a/src/Platform/Vulkan/VulkanRendererAPI.cpp
+++ b/src/Platform/Vulkan/VulkanRendererAPI.cpp
@@ -2,53 +2,73 @@
namespace Donut
{
- void VulkanRendererAPI::Init()
- {
- // TODO(Hachem): Implement Vulkan renderer API initialization
- }
+ void VulkanRendererAPI::Init()
+ {
+ // TODO(Hachem): Implement Vulkan renderer API initialization
+ }
- void VulkanRendererAPI::SetViewport(uint32_t x, uint32_t y, uint32_t width, uint32_t height)
- {
- // TODO(Hachem): Implement Vulkan viewport setting
- }
+ void VulkanRendererAPI::SetViewport(uint32_t x, uint32_t y, uint32_t width, uint32_t height)
+ {
+ // TODO(Hachem): Implement Vulkan viewport setting
+ }
- void VulkanRendererAPI::SetClearColor(const glm::vec4& color)
- {
- // TODO(Hachem): Implement Vulkan clear color setting
- }
+ void VulkanRendererAPI::SetClearColor(const glm::vec4& color)
+ {
+ // TODO(Hachem): Implement Vulkan clear color setting
+ }
- void VulkanRendererAPI::Clear()
- {
- // TODO(Hachem): Implement Vulkan clear
- }
+ void VulkanRendererAPI::Clear()
+ {
+ // TODO(Hachem): Implement Vulkan clear
+ }
- void VulkanRendererAPI::EnableDepthTest()
- {
- // TODO(Hachem): Implement Vulkan depth test enabling
- }
+ void VulkanRendererAPI::EnableDepthTest()
+ {
+ // TODO(Hachem): Implement Vulkan depth test enabling
+ }
- void VulkanRendererAPI::DisableDepthTest()
- {
- // TODO(Hachem): Implement Vulkan depth test disabling
- }
+ void VulkanRendererAPI::DisableDepthTest()
+ {
+ // TODO(Hachem): Implement Vulkan depth test disabling
+ }
- void VulkanRendererAPI::SetFaceCulling(bool enabled)
- {
- // TODO(Hachem): Implement Vulkan face culling setting
- }
+ void VulkanRendererAPI::SetFaceCulling(bool enabled)
+ {
+ // TODO(Hachem): Implement Vulkan face culling setting
+ }
- void VulkanRendererAPI::EnableBlending()
- {
- // TODO(Hachem): Implement Vulkan blending enabling
- }
+ void VulkanRendererAPI::EnableBlending()
+ {
+ // TODO(Hachem): Implement Vulkan blending enabling
+ }
- void VulkanRendererAPI::DisableBlending()
- {
- // TODO(Hachem): Implement Vulkan blending disabling
- }
+ void VulkanRendererAPI::DisableBlending()
+ {
+ // TODO(Hachem): Implement Vulkan blending disabling
+ }
- void VulkanRendererAPI::DrawIndexed(const Ref<VertexArray>& vertexArray, uint32_t indexCount)
- {
- // TODO(Hachem): Implement Vulkan indexed drawing
- }
+ void VulkanRendererAPI::DrawIndexed(const Ref<VertexArray>& vertexArray, uint32_t indexCount)
+ {
+ // TODO(Hachem): Implement Vulkan indexed drawing
+ }
+
+ void VulkanRendererAPI::DrawArrays(uint32_t vertexCount, uint32_t first)
+ {
+ // TODO(Hachem): Implement Vulkan array drawing
+ }
+
+ void VulkanRendererAPI::DrawLines(const Ref<VertexArray>& vertexArray, uint32_t indexCount)
+ {
+ // TODO(Hachem): Implement Vulkan line drawing
+ }
+
+ void VulkanRendererAPI::BindTexture(uint32_t textureID, uint32_t slot)
+ {
+ // TODO(Hachem): Implement Vulkan texture binding
+ }
+
+ void VulkanRendererAPI::BindImageTexture(uint32_t textureID, uint32_t slot, bool readOnly)
+ {
+ // TODO(Hachem): Implement Vulkan image texture binding
+ }
};
diff --git a/src/Platform/Vulkan/VulkanRendererAPI.h b/src/Platform/Vulkan/VulkanRendererAPI.h
index 8ba3942..dba7fe6 100644
--- a/src/Platform/Vulkan/VulkanRendererAPI.h
+++ b/src/Platform/Vulkan/VulkanRendererAPI.h
@@ -5,22 +5,32 @@
namespace Donut
{
- class VulkanRendererAPI
- : public RendererAPI
- {
- public:
- virtual void Init() override;
- virtual void SetViewport(uint32_t x, uint32_t y,
- uint32_t width, uint32_t height) override;
- virtual void SetClearColor(const glm::vec4& color) override;
- virtual void Clear() override;
- virtual void EnableDepthTest() override;
- virtual void DisableDepthTest() override;
- virtual void SetFaceCulling(bool enabled) override;
- virtual void EnableBlending() override;
- virtual void DisableBlending() override;
+ class VulkanRendererAPI
+ : public RendererAPI
+ {
+ public:
+ virtual void Init() override;
+ virtual void SetViewport(uint32_t x, uint32_t y,
+ uint32_t width, uint32_t height) override;
+ virtual void SetClearColor(const glm::vec4& color) override;
+ virtual void Clear() override;
+ virtual void EnableDepthTest() override;
+ virtual void DisableDepthTest() override;
+ virtual void SetFaceCulling(bool enabled) override;
+ virtual void EnableBlending() override;
+ virtual void DisableBlending() override;
- virtual void DrawIndexed(const Ref<VertexArray>& vertexArray,
- uint32_t indexCount = 0) override;
- };
+ virtual void DrawIndexed(const Ref<VertexArray>& vertexArray,
+ uint32_t indexCount = 0) override;
+
+ virtual void DrawArrays(uint32_t vertexCount,
+ uint32_t first = 0) override;
+ virtual void DrawLines(const Ref<VertexArray>& vertexArray,
+ uint32_t indexCount = 0) override;
+ virtual void BindTexture(uint32_t textureID,
+ uint32_t slot = 0) override;
+ virtual void BindImageTexture(uint32_t textureID,
+ uint32_t slot = 0,
+ bool readOnly = false) override;
+ };
};
diff --git a/src/Platform/Vulkan/VulkanUniformBuffer.h b/src/Platform/Vulkan/VulkanUniformBuffer.h
index a2e9ce2..bbf152d 100644
--- a/src/Platform/Vulkan/VulkanUniformBuffer.h
+++ b/src/Platform/Vulkan/VulkanUniformBuffer.h
@@ -11,10 +11,9 @@ namespace Donut
virtual ~VulkanUniformBuffer();
virtual void SetData(const void* data, uint32_t size, uint32_t offset = 0) override;
- virtual void Bind(uint32_t binding) override;
-
+ virtual void Bind(uint32_t binding) override;
private:
- uint32_t m_Size = 0;
- uint32_t m_Binding = 0;
+ uint32_t m_Size;
+ uint32_t m_Binding;
};
};