#ifndef VULKANCPPSETUP_SHADERLOADER_H #define VULKANCPPSETUP_SHADERLOADER_H #include #include #include #include #include class ShaderLoader { private: std::vector loadedShaders{}; public: ShaderLoader() = default; ~ShaderLoader() = default; std::vector loadShaders(VkDevice device, QVulkanDeviceFunctions *deviceFunctions, std::string const *shaderFilenames, std::size_t shaderFilenameCount); template std::vector loadShaders(VkDevice device, QVulkanDeviceFunctions *deviceFunctions, const std::array &shaderFilenames) { return loadShaders(device, deviceFunctions, shaderFilenames.data(), shaderFilenames.size()); } void destroyShaders(VkDevice device, QVulkanDeviceFunctions *devFuncs); }; #endif // VULKANCPPSETUP_SHADERLOADER_H