hachem.wtf
aboutsummaryrefslogtreecommitdiff
path: root/src/rendering/shader.cpp
diff options
context:
space:
mode:
authorhachem <im@hachem.wtf>2025-08-15 03:18:29 +0200
committerhachem <im@hachem.wtf>2025-08-15 03:18:29 +0200
commita6655eebe2a69ee427264bd43df5747851ed96df (patch)
treefa8c6ef862898a3d8e19250698dca0d9aaf4f9c2 /src/rendering/shader.cpp
parent3d8d3259e1cf5a7d88e5d1e530cc8c9bf9140734 (diff)
feat: complete first geodesic 3D raytracing
Diffstat (limited to 'src/rendering/shader.cpp')
-rw-r--r--src/rendering/shader.cpp22
1 files changed, 11 insertions, 11 deletions
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> Shader::create(const std::string& filepath)
+ Shader* Shader::create(const std::string& filepath)
{
switch (Renderer::get_api())
{
case RendererAPI::API::OpenGL:
- return create_ref<OpenGLShader>(filepath);
+ return new OpenGLShader(filepath);
case RendererAPI::API::Vulkan:
- return create_ref<VulkanShader>(filepath);
+ return new VulkanShader(filepath);
default:
return nullptr;
}
}
- Ref<Shader> 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<OpenGLShader>(name, vertex_src, fragment_src);
+ return new OpenGLShader(name, vertex_src, fragment_src);
case RendererAPI::API::Vulkan:
- return create_ref<VulkanShader>(name, vertex_src, fragment_src);
+ return new VulkanShader(name, vertex_src, fragment_src);
default:
return nullptr;
}
}
- Ref<Shader> 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<OpenGLShader>(name, compute_src);
+ return new OpenGLShader(name, compute_src);
case RendererAPI::API::Vulkan:
- return create_ref<VulkanShader>(name, compute_src);
+ return new VulkanShader(name, compute_src);
default:
return nullptr;
}
@@ -58,14 +58,14 @@ namespace Donut
Ref<Shader> ShaderLibrary::load(const std::string& filepath)
{
- auto shader = Shader::create(filepath);
+ auto shader = Ref<Shader>(Shader::create(filepath));
add(shader);
return shader;
}
Ref<Shader> ShaderLibrary::load(const std::string& name, const std::string& filepath)
{
- auto shader = Shader::create(filepath);
+ auto shader = Ref<Shader>(Shader::create(filepath));
add(name, shader);
return shader;
}