X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;ds=sidebyside;f=source%2Funiform.cpp;h=af49c047f71be82f5c635a66560a40d7f27d549d;hb=f14435e58bfa0fa697a06ba9a454bb30cd37d9d8;hp=8ed1336e4d05268ded65f707ddd0f64f3baad3b7;hpb=97015ec7bddd26aa746f5227e4109b7d32438cca;p=libs%2Fgl.git diff --git a/source/uniform.cpp b/source/uniform.cpp index 8ed1336e..af49c047 100644 --- a/source/uniform.cpp +++ b/source/uniform.cpp @@ -1,10 +1,4 @@ -/* $Id$ - -This file is part of libmspgl -Copyright © 2007 Mikko Rasa, Mikkosoft Productions -Distributed under the LGPL -*/ - +#include #include "arb_shader_objects.h" #include "uniform.h" @@ -43,8 +37,8 @@ Uniform1f *Uniform1f::clone() const Uniform2f::Uniform2f(float v0, float v1) { - v[0]=v0; - v[1]=v1; + v[0] = v0; + v[1] = v1; } void Uniform2f::apply(int index) const @@ -60,9 +54,9 @@ Uniform2f *Uniform2f::clone() const Uniform3f::Uniform3f(float v0, float v1, float v2) { - v[0]=v0; - v[1]=v1; - v[2]=v2; + v[0] = v0; + v[1] = v1; + v[2] = v2; } void Uniform3f::apply(int index) const @@ -78,10 +72,10 @@ Uniform3f *Uniform3f::clone() const Uniform4f::Uniform4f(float v0, float v1, float v2, float v3) { - v[0]=v0; - v[1]=v1; - v[2]=v2; - v[3]=v3; + v[0] = v0; + v[1] = v1; + v[2] = v2; + v[3] = v3; } void Uniform4f::apply(int index) const @@ -94,5 +88,21 @@ Uniform4f *Uniform4f::clone() const return new Uniform4f(v[0], v[1], v[2], v[3]); } + +UniformMatrix4x4f::UniformMatrix4x4f(const float *vp) +{ + std::copy(vp, vp+16, v); +} + +void UniformMatrix4x4f::apply(int index) const +{ + glUniformMatrix4fvARB(index, 1, false, v); +} + +UniformMatrix4x4f *UniformMatrix4x4f::clone() const +{ + return new UniformMatrix4x4f(v); +} + } // namespace GL } // namespace Msp