18#ifndef HEADER_SP_PER_OBJECT_UNIFORM_HPP
19#define HEADER_SP_PER_OBJECT_UNIFORM_HPP
23#include <unordered_map>
29class SPUniformAssigner;
33 std::unordered_map<std::string,
37 void addAssignerFunction(
const std::string& name,
40 m_all_uniforms[name] = func;
43 void removeAssignerFunction(
const std::string& name)
45 auto it = m_all_uniforms.find(name);
46 if (it != m_all_uniforms.end())
48 m_all_uniforms.erase(it);
52 bool hasUniform(
const std::string& name)
const
54 auto ret = m_all_uniforms.find(name);
55 if (ret == m_all_uniforms.end())
64 bool isEmpty()
const {
return m_all_uniforms.empty(); }