From 4172869e54093eee6e1595ebe0fa55c9fe98aef7 Mon Sep 17 00:00:00 2001 From: hachem Date: Fri, 15 Aug 2025 03:18:29 +0200 Subject: [help]: Complete first geodesic 3d raytracing --- src/Rendering/Shader.cpp | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'src/Rendering/Shader.cpp') diff --git a/src/Rendering/Shader.cpp b/src/Rendering/Shader.cpp index 2198663..8266e00 100644 --- a/src/Rendering/Shader.cpp +++ b/src/Rendering/Shader.cpp @@ -6,40 +6,40 @@ namespace Donut { - Ref Shader::Create(const std::string& filepath) + Shader* Shader::Create(const std::string& filepath) { switch (Renderer::GetAPI()) { case RendererAPI::API::OpenGL: - return CreateRef(filepath); + return new OpenGLShader(filepath); case RendererAPI::API::Vulkan: - return CreateRef(filepath); + return new VulkanShader(filepath); default: return nullptr; } } - Ref Shader::Create(const std::string& name, const std::string& vertexSrc, const std::string& fragmentSrc) + Shader* Shader::Create(const std::string& name, const std::string& vertexSrc, const std::string& fragmentSrc) { switch (Renderer::GetAPI()) { case RendererAPI::API::OpenGL: - return CreateRef(name, vertexSrc, fragmentSrc); + return new OpenGLShader(name, vertexSrc, fragmentSrc); case RendererAPI::API::Vulkan: - return CreateRef(name, vertexSrc, fragmentSrc); + return new VulkanShader(name, vertexSrc, fragmentSrc); default: return nullptr; } } - Ref Shader::CreateCompute(const std::string& name, const std::string& computeSrc) + Shader* Shader::CreateCompute(const std::string& name, const std::string& computeSrc) { switch (Renderer::GetAPI()) { case RendererAPI::API::OpenGL: - return CreateRef(name, computeSrc); + return new OpenGLShader(name, computeSrc); case RendererAPI::API::Vulkan: - return CreateRef(name, computeSrc); + return new VulkanShader(name, computeSrc); default: return nullptr; } @@ -58,14 +58,14 @@ namespace Donut Ref ShaderLibrary::Load(const std::string& filepath) { - auto shader = Shader::Create(filepath); + auto shader = Ref(Shader::Create(filepath)); Add(shader); return shader; } Ref ShaderLibrary::Load(const std::string& name, const std::string& filepath) { - auto shader = Shader::Create(filepath); + auto shader = Ref(Shader::Create(filepath)); Add(name, shader); return shader; } -- cgit v1.3