X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fcore%2Funiform.cpp;fp=source%2Fcore%2Funiform.cpp;h=c18fc360674a056315d62bb64d188b6a023a4508;hb=7aaec9a70b8d7733429bec043f8e33e02956f266;hp=0000000000000000000000000000000000000000;hpb=bec07999d95b76f4b47cffcc564d0cd0afc0435e;p=libs%2Fgl.git diff --git a/source/core/uniform.cpp b/source/core/uniform.cpp new file mode 100644 index 00000000..c18fc360 --- /dev/null +++ b/source/core/uniform.cpp @@ -0,0 +1,113 @@ +#include +#include +#include "uniform.h" + +namespace Msp { +namespace GL { + +template<> +void UniformScalar::apply(int index, unsigned size, const int *value) +{ + glUniform1iv(index, size, value); +} + +template<> +void UniformScalar::apply(int index, unsigned size, const float *value) +{ + glUniform1fv(index, size, value); +} + + +template<> +void UniformVector::apply(int index, unsigned size, const int *value) +{ + glUniform2iv(index, size, value); +} + +template<> +void UniformVector::apply(int index, unsigned size, const float *value) +{ + glUniform2fv(index, size, value); +} + +template<> +void UniformVector::apply(int index, unsigned size, const int *value) +{ + glUniform3iv(index, size, value); +} + +template<> +void UniformVector::apply(int index, unsigned size, const float *value) +{ + glUniform3fv(index, size, value); +} + +template<> +void UniformVector::apply(int index, unsigned size, const int *value) +{ + glUniform4iv(index, size, value); +} + +template<> +void UniformVector::apply(int index, unsigned size, const float *value) +{ + glUniform4fv(index, size, 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) +{ + 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) +{ + glUniformMatrix4fv(index, size, false, value); +} + +} // namespace GL +} // namespace Msp