Update shader to use new render resource system

This commit is contained in:
Georg Hagen
2024-08-21 13:33:15 +02:00
parent 3940a72084
commit b13c1c54ae
6 changed files with 26 additions and 38 deletions

View File

@@ -277,6 +277,7 @@ namespace OpenVulkano::Vulkan
find_if(shaders.begin(), shaders.end(),
[&](auto& obj){ return obj.get() == shader; }
);
object->get()->owner = nullptr;
shaders.erase(object);
}
@@ -308,9 +309,8 @@ namespace OpenVulkano::Vulkan
VulkanShader* ResourceManager::CreateShader(Scene::Shader* shader)
{
const std::unique_lock lock(mutex);
if (shader->renderShader) return static_cast<VulkanShader*>(shader->renderShader);
VulkanShader* vkShader = new VulkanShader();
vkShader->Init(context, shader, this);
if (shader->HasRenderResource()) return static_cast<VulkanShader*>(shader->GetRenderResource());
VulkanShader* vkShader = new VulkanShader(context, shader, this);
shaders.emplace_back(vkShader);
return vkShader;
}