engine/include/resources/material.hpp

29 lines
431 B
C++
Raw Normal View History

2022-12-20 23:51:04 +00:00
#pragma once
#include <memory>
namespace engine::resources {
class Shader;
2022-12-22 11:27:16 +00:00
class Texture;
2022-12-20 23:51:04 +00:00
2023-01-16 11:37:46 +00:00
// copyable
2022-12-20 23:51:04 +00:00
class Material {
public:
Material(std::shared_ptr<Shader> shader);
2023-01-16 11:37:46 +00:00
~Material() = default;
Material(const Material&);
2022-12-20 23:51:04 +00:00
Material& operator=(const Material&) = delete;
2022-12-22 11:27:16 +00:00
auto getShader() { return m_shader.get(); }
std::shared_ptr<Texture> m_texture;
2022-12-20 23:51:04 +00:00
private:
const std::shared_ptr<Shader> m_shader;
};
}