X-Git-Url: http://git.tdb.fi/?p=libs%2Fgl.git;a=blobdiff_plain;f=source%2Funiform.cpp;fp=source%2Funiform.cpp;h=c18fc360674a056315d62bb64d188b6a023a4508;hp=b183719fe339debaf55402b35cb2eeda15bb3d8a;hb=6dc3e14d26c747dfcece883771f457e5561c5d09;hpb=c1e297b01f07be122e9909a1ae9c04f0c51dfc21 diff --git a/source/uniform.cpp b/source/uniform.cpp index b183719f..c18fc360 100644 --- a/source/uniform.cpp +++ b/source/uniform.cpp @@ -1,4 +1,5 @@ #include +#include #include "uniform.h" namespace Msp { @@ -60,12 +61,48 @@ void UniformMatrix::apply(int index, unsigned size, const float *va glUniformMatrix2fv(index, size, false, value); } +template<> +void UniformMatrix::apply(int index, unsigned size, const float *value) +{ + glUniformMatrix3x2fv(index, size, false, value); +} + +template<> +void UniformMatrix::apply(int index, unsigned size, const float *value) +{ + glUniformMatrix4x2fv(index, size, false, value); +} + +template<> +void UniformMatrix::apply(int index, unsigned size, const float *value) +{ + glUniformMatrix2x3fv(index, size, false, value); +} + template<> void UniformMatrix::apply(int index, unsigned size, const float *value) { glUniformMatrix3fv(index, size, false, value); } +template<> +void UniformMatrix::apply(int index, unsigned size, const float *value) +{ + glUniformMatrix4x3fv(index, size, false, value); +} + +template<> +void UniformMatrix::apply(int index, unsigned size, const float *value) +{ + glUniformMatrix2x4fv(index, size, false, value); +} + +template<> +void UniformMatrix::apply(int index, unsigned size, const float *value) +{ + glUniformMatrix3x4fv(index, size, false, value); +} + template<> void UniformMatrix::apply(int index, unsigned size, const float *value) {