#pragma once #include namespace engine::resources { class Shader; class Material { public: Material(std::shared_ptr shader); ~Material(); Material(const Material&) = delete; Material& operator=(const Material&) = delete; Shader* getShader() { return m_shader.get(); } private: const std::shared_ptr m_shader; }; }