}
+template<>
+void UniformVector<int, 2>::apply(int index, unsigned size, const int *value)
+{
+ glUniform2iv(index, size, value);
+}
+
template<>
void UniformVector<float, 2>::apply(int index, unsigned size, const float *value)
{
glUniform2fv(index, size, value);
}
+template<>
+void UniformVector<int, 3>::apply(int index, unsigned size, const int *value)
+{
+ glUniform3iv(index, size, value);
+}
+
template<>
void UniformVector<float, 3>::apply(int index, unsigned size, const float *value)
{
glUniform3fv(index, size, value);
}
+template<>
+void UniformVector<int, 4>::apply(int index, unsigned size, const int *value)
+{
+ glUniform4iv(index, size, value);
+}
+
template<>
void UniformVector<float, 4>::apply(int index, unsigned size, const float *value)
{