X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Funiform.cpp;h=8aba365be5e5cd2238a0934eb639d6585c453d8e;hb=8f7d5b6460ef68e7316c7f556b7152d9c9f7bfe2;hp=688052ff16d0ae3b8fdebc5fafe99e1025c118d9;hpb=f9c15dc04462b2f1eea1d6bdd71e3ba967b1bd8c;p=libs%2Fgl.git diff --git a/source/uniform.cpp b/source/uniform.cpp index 688052ff..8aba365b 100644 --- a/source/uniform.cpp +++ b/source/uniform.cpp @@ -5,41 +5,53 @@ namespace Msp { namespace GL { template<> -void UniformScalar::apply(int index) const +void UniformScalar::apply(int index, unsigned size, const int *value) { - glUniform1iARB(index, value); + glUniform1iv(index, size, value); } template<> -void UniformScalar::apply(int index) const +void UniformScalar::apply(int index, unsigned size, const float *value) { - glUniform1fARB(index, value); + glUniform1fv(index, size, value); } template<> -void UniformVector::apply(int index) const +void UniformVector::apply(int index, unsigned size, const float *value) { - glUniform2fvARB(index, 1, value); + glUniform2fv(index, size, value); } template<> -void UniformVector::apply(int index) const +void UniformVector::apply(int index, unsigned size, const float *value) { - glUniform3fvARB(index, 1, value); + glUniform3fv(index, size, value); } template<> -void UniformVector::apply(int index) const +void UniformVector::apply(int index, unsigned size, const float *value) { - glUniform4fvARB(index, 1, value); + glUniform4fv(index, size, value); } template<> -void UniformMatrix::apply(int index) const +void UniformMatrix::apply(int index, unsigned size, const float *value) { - glUniformMatrix4fvARB(index, 1, false, value); + glUniformMatrix2fv(index, size, false, value); +} + +template<> +void UniformMatrix::apply(int index, unsigned size, const float *value) +{ + glUniformMatrix2fv(index, size, false, value); +} + +template<> +void UniformMatrix::apply(int index, unsigned size, const float *value) +{ + glUniformMatrix4fv(index, size, false, value); } } // namespace GL