diff options
Diffstat (limited to 'src/Platform/Vulkan/VulkanShader.cpp')
| -rw-r--r-- | src/Platform/Vulkan/VulkanShader.cpp | 125 |
1 files changed, 125 insertions, 0 deletions
diff --git a/src/Platform/Vulkan/VulkanShader.cpp b/src/Platform/Vulkan/VulkanShader.cpp new file mode 100644 index 0000000..cbc0f54 --- /dev/null +++ b/src/Platform/Vulkan/VulkanShader.cpp @@ -0,0 +1,125 @@ +#include "VulkanShader.h" + +#include <fstream> +#include <glm/gtc/type_ptr.hpp> + +namespace Donut +{ + VulkanShader::VulkanShader(const std::string& filepath) + { + // TODO(Hachem): Implement Vulkan shader creation from filepath + } + + VulkanShader::VulkanShader(const std::string& name, const std::string& vertexSrc, const std::string& fragmentSrc) + : m_Name(name) + { + // TODO(Hachem): Implement Vulkan shader creation from source + } + + VulkanShader::~VulkanShader() + { + // TODO(Hachem): Implement Vulkan shader cleanup + } + + void VulkanShader::Bind() const + { + // TODO(Hachem): Implement Vulkan shader binding + } + + void VulkanShader::Unbind() const + { + // TODO(Hachem): Implement Vulkan shader unbinding + } + + void VulkanShader::SetInt(const std::string& name, int value) + { + // TODO(Hachem): Implement Vulkan shader int uniform setting + } + + void VulkanShader::SetIntArray(const std::string& name, int* values, uint32_t count) + { + // TODO(Hachem): Implement Vulkan shader int array uniform setting + } + + void VulkanShader::SetFloat(const std::string& name, float value) + { + // TODO(Hachem): Implement Vulkan shader float uniform setting + } + + void VulkanShader::SetFloat2(const std::string& name, const glm::vec2& value) + { + // TODO(Hachem): Implement Vulkan shader float2 uniform setting + } + + void VulkanShader::SetFloat3(const std::string& name, const glm::vec3& value) + { + // TODO(Hachem): Implement Vulkan shader float3 uniform setting + } + + void VulkanShader::SetFloat4(const std::string& name, const glm::vec4& value) + { + // TODO(Hachem): Implement Vulkan shader float4 uniform setting + } + + void VulkanShader::SetMat4(const std::string& name, const glm::mat4& value) + { + // TODO(Hachem): Implement Vulkan shader mat4 uniform setting + } + + void VulkanShader::UploadUniformInt(const std::string& name, int value) + { + // TODO(Hachem): Implement Vulkan uniform int upload + } + + void VulkanShader::UploadUniformIntArray(const std::string& name, int* values, uint32_t count) + { + // TODO(Hachem): Implement Vulkan uniform int array upload + } + + void VulkanShader::UploadUniformFloat(const std::string& name, float value) + { + // TODO(Hachem): Implement Vulkan uniform float upload + } + + void VulkanShader::UploadUniformFloat2(const std::string& name, const glm::vec2& value) + { + // TODO(Hachem): Implement Vulkan uniform float2 upload + } + + void VulkanShader::UploadUniformFloat3(const std::string& name, const glm::vec3& value) + { + // TODO(Hachem): Implement Vulkan uniform float3 upload + } + + void VulkanShader::UploadUniformFloat4(const std::string& name, const glm::vec4& value) + { + // TODO(Hachem): Implement Vulkan uniform float4 upload + } + + void VulkanShader::UploadUniformMat3(const std::string& name, const glm::mat3& matrix) + { + // TODO(Hachem): Implement Vulkan uniform mat3 upload + } + + void VulkanShader::UploadUniformMat4(const std::string& name, const glm::mat4& matrix) + { + // TODO(Hachem): Implement Vulkan uniform mat4 upload + } + + std::string VulkanShader::ReadFile(const std::string& filepath) + { + // TODO(Hachem): Implement file reading for Vulkan shader + return ""; + } + + std::unordered_map<uint32_t, std::string> VulkanShader::PreProcess(const std::string& source) + { + // TODO(Hachem): Implement shader preprocessing for Vulkan + return {}; + } + + void VulkanShader::Compile(const std::unordered_map<uint32_t, std::string>& shaderSources) + { + // TODO(Hachem): Implement Vulkan shader compilation + } +}; |
