aboutsummaryrefslogtreecommitdiff
path: root/src/Platform/Vulkan
diff options
context:
space:
mode:
Diffstat (limited to 'src/Platform/Vulkan')
-rw-r--r--src/Platform/Vulkan/VulkanRendererAPI.cpp15
-rw-r--r--src/Platform/Vulkan/VulkanRendererAPI.h3
-rw-r--r--src/Platform/Vulkan/VulkanUniformBuffer.cpp25
-rw-r--r--src/Platform/Vulkan/VulkanUniformBuffer.h20
4 files changed, 63 insertions, 0 deletions
diff --git a/src/Platform/Vulkan/VulkanRendererAPI.cpp b/src/Platform/Vulkan/VulkanRendererAPI.cpp
index 86d9653..6f0e73e 100644
--- a/src/Platform/Vulkan/VulkanRendererAPI.cpp
+++ b/src/Platform/Vulkan/VulkanRendererAPI.cpp
@@ -27,11 +27,26 @@ namespace Donut
// TODO(Hachem): Implement Vulkan depth test enabling
}
+ void VulkanRendererAPI::DisableDepthTest()
+ {
+ // TODO(Hachem): Implement Vulkan depth test disabling
+ }
+
void VulkanRendererAPI::SetFaceCulling(bool enabled)
{
// TODO(Hachem): Implement Vulkan face culling setting
}
+ void VulkanRendererAPI::EnableBlending()
+ {
+ // TODO(Hachem): Implement Vulkan blending enabling
+ }
+
+ 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
diff --git a/src/Platform/Vulkan/VulkanRendererAPI.h b/src/Platform/Vulkan/VulkanRendererAPI.h
index 47342ac..8ba3942 100644
--- a/src/Platform/Vulkan/VulkanRendererAPI.h
+++ b/src/Platform/Vulkan/VulkanRendererAPI.h
@@ -15,7 +15,10 @@ namespace Donut
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;
diff --git a/src/Platform/Vulkan/VulkanUniformBuffer.cpp b/src/Platform/Vulkan/VulkanUniformBuffer.cpp
new file mode 100644
index 0000000..8152478
--- /dev/null
+++ b/src/Platform/Vulkan/VulkanUniformBuffer.cpp
@@ -0,0 +1,25 @@
+#include "VulkanUniformBuffer.h"
+
+namespace Donut
+{
+ VulkanUniformBuffer::VulkanUniformBuffer(uint32_t size, uint32_t binding)
+ : m_Size(size), m_Binding(binding)
+ {
+ // TODO: Implement Vulkan uniform buffer
+ }
+
+ VulkanUniformBuffer::~VulkanUniformBuffer()
+ {
+ // TODO: Implement Vulkan uniform buffer cleanup
+ }
+
+ void VulkanUniformBuffer::SetData(const void* data, uint32_t size, uint32_t offset)
+ {
+ // TODO: Implement Vulkan uniform buffer data setting
+ }
+
+ void VulkanUniformBuffer::Bind(uint32_t binding)
+ {
+ // TODO: Implement Vulkan uniform buffer binding
+ }
+};
diff --git a/src/Platform/Vulkan/VulkanUniformBuffer.h b/src/Platform/Vulkan/VulkanUniformBuffer.h
new file mode 100644
index 0000000..a2e9ce2
--- /dev/null
+++ b/src/Platform/Vulkan/VulkanUniformBuffer.h
@@ -0,0 +1,20 @@
+#pragma once
+
+#include "Rendering/UniformBuffer.h"
+
+namespace Donut
+{
+ class VulkanUniformBuffer : public UniformBuffer
+ {
+ public:
+ VulkanUniformBuffer(uint32_t size, uint32_t binding);
+ virtual ~VulkanUniformBuffer();
+
+ virtual void SetData(const void* data, uint32_t size, uint32_t offset = 0) override;
+ virtual void Bind(uint32_t binding) override;
+
+ private:
+ uint32_t m_Size = 0;
+ uint32_t m_Binding = 0;
+ };
+};