From 6358f7fcb9df93bee032b0e14d062658059ca30d Mon Sep 17 00:00:00 2001 From: kearwood Date: Thu, 18 Oct 2012 08:25:47 +0000 Subject: [PATCH] Added setUniform method to KRMat4, KRVector2, and KRVector3 --HG-- extra : convert_revision : svn%3A7752d6cf-9f14-4ad2-affc-04f1e67b81a5/trunk%40130 --- KREngine/KREngine/Classes/KRMat4.cpp | 5 +++++ KREngine/KREngine/Classes/KRMat4.h | 2 ++ KREngine/KREngine/Classes/KRVector2.cpp | 4 ++++ KREngine/KREngine/Classes/KRVector2.h | 2 ++ KREngine/KREngine/Classes/KRVector3.cpp | 2 +- 5 files changed, 14 insertions(+), 1 deletion(-) 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)); }