diff --git a/KREngine/KREngine/Classes/KRMat4.cpp b/KREngine/KREngine/Classes/KRMat4.cpp index 2f144b5..e7442d5 100644 --- a/KREngine/KREngine/Classes/KRMat4.cpp +++ b/KREngine/KREngine/Classes/KRMat4.cpp @@ -351,3 +351,8 @@ KRMat4 KRMat4::Transpose(const KRMat4 &m) matTranspose.transpose(); return matTranspose; } + +void KRMat4::setUniform(GLint location) const +{ + if(location != -1) GLDEBUG(glUniformMatrix4fv(location, 1, GL_FALSE, m_mat)); +} diff --git a/KREngine/KREngine/Classes/KRMat4.h b/KREngine/KREngine/Classes/KRMat4.h index 13ac8ab..c938c7f 100644 --- a/KREngine/KREngine/Classes/KRMat4.h +++ b/KREngine/KREngine/Classes/KRMat4.h @@ -111,6 +111,8 @@ public: static KRVector3 DotWDiv(const KRMat4 &m, const KRVector3 &v); static KRMat4 LookAt(const KRVector3 &cameraPos, const KRVector3 &lookAtPos, const KRVector3 &upDirection); + + void setUniform(GLint location) const; }; #endif // KRMAT4_I \ No newline at end of file diff --git a/KREngine/KREngine/Classes/KRVector2.cpp b/KREngine/KREngine/Classes/KRVector2.cpp index 7d6926c..a460859 100644 --- a/KREngine/KREngine/Classes/KRVector2.cpp +++ b/KREngine/KREngine/Classes/KRVector2.cpp @@ -164,3 +164,7 @@ float KRVector2::Dot(const KRVector2 &v1, const KRVector2 &v2) { return v1.x * v2.x + v1.y * v2.y; } +void KRVector2::setUniform(GLint location) const +{ + if(location != -1) GLDEBUG(glUniform2f(location, x, y)); +} diff --git a/KREngine/KREngine/Classes/KRVector2.h b/KREngine/KREngine/Classes/KRVector2.h index 420a928..63c67bc 100644 --- a/KREngine/KREngine/Classes/KRVector2.h +++ b/KREngine/KREngine/Classes/KRVector2.h @@ -78,6 +78,8 @@ public: static KRVector2 Zero(); static KRVector2 One(); + void setUniform(GLint location) const; + private: diff --git a/KREngine/KREngine/Classes/KRVector3.cpp b/KREngine/KREngine/Classes/KRVector3.cpp index eb985a2..2b35fe1 100644 --- a/KREngine/KREngine/Classes/KRVector3.cpp +++ b/KREngine/KREngine/Classes/KRVector3.cpp @@ -293,5 +293,5 @@ bool KRVector3::operator <(const KRVector3& b) const void KRVector3::setUniform(GLint location) const { - GLDEBUG(glUniform3f(location, x, y, z)); + if(location != -1) GLDEBUG(glUniform3f(location, x, y, z)); }