From a6655eebe2a69ee427264bd43df5747851ed96df Mon Sep 17 00:00:00 2001 From: hachem Date: Fri, 15 Aug 2025 03:18:29 +0200 Subject: feat: 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 833b719..1bbd0fc 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::get_api()) { case RendererAPI::API::OpenGL: - return create_ref(filepath); + return new OpenGLShader(filepath); case RendererAPI::API::Vulkan: - return create_ref(filepath); + return new VulkanShader(filepath); default: return nullptr; } } - Ref Shader::create(const std::string& name, const std::string& vertex_src, const std::string& fragment_src) + Shader* Shader::create(const std::string& name, const std::string& vertex_src, const std::string& fragment_src) { switch (Renderer::get_api()) { case RendererAPI::API::OpenGL: - return create_ref(name, vertex_src, fragment_src); + return new OpenGLShader(name, vertex_src, fragment_src); case RendererAPI::API::Vulkan: - return create_ref(name, vertex_src, fragment_src); + return new VulkanShader(name, vertex_src, fragment_src); default: return nullptr; } } - Ref Shader::create_compute(const std::string& name, const std::string& compute_src) + Shader* Shader::create_compute(const std::string& name, const std::string& compute_src) { switch (Renderer::get_api()) { case RendererAPI::API::OpenGL: - return create_ref(name, compute_src); + return new OpenGLShader(name, compute_src); case RendererAPI::API::Vulkan: - return create_ref(name, compute_src); + return new VulkanShader(name, compute_src); 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