18 void SetParam(
const std::string& name,
float value);
19 void SetParam(
const std::string& name,
float v0,
float v1);
20 void SetParam(
const std::string& name,
const glm::vec3& value);
21 void SetParam(
const std::string& name,
const std::shared_ptr<Texture>& texture);
24 static std::shared_ptr<Material>
Load(
const std::string& path);
27 std::shared_ptr<ShaderProgram> m_shaderProgram;
28 std::unordered_map<std::string, float> m_floatParams;
29 std::unordered_map<std::string, std::pair<float, float>> m_float2Params;
30 std::unordered_map<std::string, glm::vec3> m_float3Params;
31 std::unordered_map<std::string, std::shared_ptr<Texture>> m_textures;