15 enum class UniformTypes {
FLOAT,
VEC2,
VEC3,
VEC4,
INT,
IVEC2,
IVEC3,
IVEC4,
UINT,
UVEC2,
UVEC3,
UVEC4,
16 BOOL,
BVEC2,
BVEC3,
BVEC4,
MAT2,
MAT3,
MAT4,
MAT23,
MAT32,
MAT24,
MAT42,
MAT34,
MAT43 };
25 glm::ivec2 ivec2_data;
26 glm::ivec3 ivec3_data;
27 glm::ivec4 ivec4_data;
28 unsigned int uint_data;
29 glm::uvec2 uvec2_data;
30 glm::uvec3 uvec3_data;
31 glm::uvec4 uvec4_data;
33 glm::bvec2 bvec2_data;
34 glm::bvec3 bvec3_data;
35 glm::bvec4 bvec4_data;
39 glm::mat2x3 mat23_data;
40 glm::mat3x2 mat32_data;
41 glm::mat2x4 mat24_data;
42 glm::mat4x2 mat42_data;
43 glm::mat3x4 mat34_data;
44 glm::mat4x3 mat43_data;
63 void setData(
const std::string& name,
const T& data);
75 std::
string getName() const noexcept;
85 void clean() noexcept;
104 bool operator<(const
Uniform& right) const noexcept;
112 bool operator==(const
Uniform& right) const noexcept;
120 bool operator!=(const
Uniform& right) const noexcept;