#pragma once #ifdef USING_GLSL #include #include #include class Shaders { public: Shaders(vk::Device *device); ~Shaders() {} public: void Finalize(); public: const std::vector GetShaderStages() const { return m_ShaderStages; } const vk::PipelineVertexInputStateCreateInfo &GetVertexInput() const { return m_VertInput; } private: vk::Device *m_Device; std::vector m_ShaderStages{}; vk::ShaderModule m_VertShaderModule = {}; vk::ShaderModule m_FragShaderModule = {}; vk::PipelineVertexInputStateCreateInfo m_VertInput = {}; vk::VertexInputBindingDescription m_BindingDescription{}; std::array m_AttributeDescriptions{}; }; // Shaders #endif // USING_GLSL