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