]> git.tdb.fi Git - libs/gl.git/blobdiff - source/uniform.cpp
Allow copying of Uniforms and ProgramData
[libs/gl.git] / source / uniform.cpp
index 88c42d377067f73fbde380164b7acad458b6cdf7..8ed1336e4d05268ded65f707ddd0f64f3baad3b7 100644 (file)
@@ -20,6 +20,11 @@ void Uniform1i::apply(int index) const
        glUniform1iARB(index, v);
 }
 
+Uniform1i *Uniform1i::clone() const
+{
+       return new Uniform1i(v);
+}
+
 
 Uniform1f::Uniform1f(float v_):
        v(v_)
@@ -30,6 +35,11 @@ void Uniform1f::apply(int index) const
        glUniform1fARB(index, v);
 }
 
+Uniform1f *Uniform1f::clone() const
+{
+       return new Uniform1f(v);
+}
+
 
 Uniform2f::Uniform2f(float v0, float v1)
 {
@@ -42,6 +52,11 @@ void Uniform2f::apply(int index) const
        glUniform2fvARB(index, 1, v);
 }
 
+Uniform2f *Uniform2f::clone() const
+{
+       return new Uniform2f(v[0], v[1]);
+}
+
 
 Uniform3f::Uniform3f(float v0, float v1, float v2)
 {
@@ -55,6 +70,11 @@ void Uniform3f::apply(int index) const
        glUniform3fvARB(index, 1, v);
 }
 
+Uniform3f *Uniform3f::clone() const
+{
+       return new Uniform3f(v[0], v[1], v[2]);
+}
+
 
 Uniform4f::Uniform4f(float v0, float v1, float v2, float v3)
 {
@@ -69,5 +89,10 @@ void Uniform4f::apply(int index) const
        glUniform4fvARB(index, 1, v);
 }
 
+Uniform4f *Uniform4f::clone() const
+{
+       return new Uniform4f(v[0], v[1], v[2], v[3]);
+}
+
 } // namespace GL
 } // namespace Msp