diff options
Diffstat (limited to 'src/Platform/Vulkan')
| -rw-r--r-- | src/Platform/Vulkan/VulkanRendererAPI.cpp | 15 | ||||
| -rw-r--r-- | src/Platform/Vulkan/VulkanRendererAPI.h | 3 | ||||
| -rw-r--r-- | src/Platform/Vulkan/VulkanUniformBuffer.cpp | 25 | ||||
| -rw-r--r-- | src/Platform/Vulkan/VulkanUniformBuffer.h | 20 |
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; + }; +}; |
